mirror of
https://github.com/boostorg/intrusive.git
synced 2025-08-05 15:34:35 +02:00
Merged revision(s) 78115-78590 from trunk/boost/intrusive
[SVN r78591]
This commit is contained in:
@@ -130,7 +130,7 @@ struct identity
|
||||
#define BOOST_INTRUSIVE_TT_DECL
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64)
|
||||
#if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(UNDER_CE)
|
||||
#define BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
|
||||
#endif
|
||||
|
||||
|
@@ -47,13 +47,25 @@ inline std::ptrdiff_t offset_from_pointer_to_member(const Member Parent::* ptr_t
|
||||
template<class Parent, class Member>
|
||||
inline Parent *parent_from_member(Member *member, const Member Parent::* ptr_to_member)
|
||||
{
|
||||
return (Parent*)((char*)member - offset_from_pointer_to_member(ptr_to_member));
|
||||
return static_cast<Parent*>
|
||||
(
|
||||
static_cast<void*>
|
||||
(
|
||||
static_cast<char*>(static_cast<void*>(member)) - offset_from_pointer_to_member(ptr_to_member)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
template<class Parent, class Member>
|
||||
inline const Parent *parent_from_member(const Member *member, const Member Parent::* ptr_to_member)
|
||||
{
|
||||
return (const Parent*)((const char*)member - offset_from_pointer_to_member(ptr_to_member));
|
||||
return static_cast<const Parent*>
|
||||
(
|
||||
static_cast<const void*>
|
||||
(
|
||||
static_cast<const char*>(static_cast<const void*>(member)) - offset_from_pointer_to_member(ptr_to_member)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
} //namespace detail {
|
||||
|
Reference in New Issue
Block a user