Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > Class Template Reference

A smart pointer that stores the offset between between the pointer and the the object it points. More...

#include <offset_ptr.hpp>

Classes

struct  rebind
 Compatibility with pointer_traits. More...
 

Public Types

typedef PointedType element_type
 
typedef PointedType * pointer
 
typedef
ipcdetail::add_reference
< PointedType >::type 
reference
 
typedef
ipcdetail::remove_volatile
< typename
ipcdetail::remove_const
< PointedType >::type >::type 
value_type
 
typedef DifferenceType difference_type
 
typedef
std::random_access_iterator_tag 
iterator_category
 
typedef OffsetType offset_type
 

Public Member Functions

 offset_ptr ()
 Default constructor (null pointer). More...
 
 offset_ptr (pointer ptr)
 Constructor from raw pointer (allows "0" pointer conversion). More...
 
template<class T >
 offset_ptr (T *ptr, typename ipcdetail::enable_if< ipcdetail::is_convertible< T *, PointedType * > >::type *=0)
 Constructor from other pointer. More...
 
 offset_ptr (const offset_ptr &ptr)
 Constructor from other offset_ptr Never throws. More...
 
template<class T2 >
 offset_ptr (const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &ptr, typename ipcdetail::enable_if_c< ipcdetail::is_convertible< T2 *, PointedType * >::value &&ipcdetail::offset_ptr_maintains_address< T2, PointedType >::value >::type *=0)
 Constructor from other offset_ptr. More...
 
template<class T2 >
 offset_ptr (const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &ptr, typename ipcdetail::enable_if_c< ipcdetail::is_convertible< T2 *, PointedType * >::value &&!ipcdetail::offset_ptr_maintains_address< T2, PointedType >::value >::type *=0)
 Constructor from other offset_ptr. More...
 
template<class T2 , class P2 , class O2 , std::size_t A2>
 offset_ptr (const offset_ptr< T2, P2, O2, A2 > &r, ipcdetail::static_cast_tag)
 Emulates static_cast operator. More...
 
template<class T2 , class P2 , class O2 , std::size_t A2>
 offset_ptr (const offset_ptr< T2, P2, O2, A2 > &r, ipcdetail::const_cast_tag)
 Emulates const_cast operator. More...
 
template<class T2 , class P2 , class O2 , std::size_t A2>
 offset_ptr (const offset_ptr< T2, P2, O2, A2 > &r, ipcdetail::dynamic_cast_tag)
 Emulates dynamic_cast operator. More...
 
template<class T2 , class P2 , class O2 , std::size_t A2>
 offset_ptr (const offset_ptr< T2, P2, O2, A2 > &r, ipcdetail::reinterpret_cast_tag)
 Emulates reinterpret_cast operator. More...
 
pointer get () const
 Obtains raw pointer from offset. More...
 
offset_type get_offset () const
 
pointer operator-> () const
 Pointer-like -> operator. More...
 
reference operator* () const
 Dereferencing operator, if it is a null offset_ptr behavior is undefined. More...
 
reference operator[] (difference_type idx) const
 Indexing operator. More...
 
offset_ptroperator= (pointer from)
 Assignment from pointer (saves extra conversion). More...
 
offset_ptroperator= (const offset_ptr &ptr)
 Assignment from other offset_ptr. More...
 
template<class T2 >
ipcdetail::enable_if_c
< ipcdetail::is_convertible
< T2 *, PointedType * >::value
&&ipcdetail::offset_ptr_maintains_address
< T2, PointedType >::value,
offset_ptr & >::type 
operator= (const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &ptr)
 Assignment from related offset_ptr. More...
 
template<class T2 >
ipcdetail::enable_if_c
< ipcdetail::is_convertible
< T2 *, PointedType * >::value
&&!ipcdetail::offset_ptr_maintains_address
< T2, PointedType >::value,
offset_ptr & >::type 
operator= (const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &ptr)
 
offset_ptroperator+= (difference_type offset)
 offset_ptr += difference_type. More...
 
offset_ptroperator-= (difference_type offset)
 offset_ptr -= difference_type. More...
 
offset_ptroperator++ (void)
 ++offset_ptr. More...
 
offset_ptr operator++ (int)
 offset_ptr++. More...
 
offset_ptroperator-- (void)
 offset_ptr. More...
 
offset_ptr operator-- (int)
 offset_ptr–. More...
 
 operator unspecified_bool_type () const
 safe bool conversion operator. More...
 
bool operator! () const
 Not operator. More...
 

Static Public Member Functions

static offset_ptr pointer_to (reference r)
 Compatibility with pointer_traits. More...
 

Friends

offset_ptr operator+ (difference_type diff, offset_ptr right)
 difference_type + offset_ptr operation More...
 
offset_ptr operator+ (offset_ptr left, difference_type diff)
 offset_ptr + difference_type operation More...
 
offset_ptr operator- (offset_ptr left, difference_type diff)
 offset_ptr - diff operation More...
 
offset_ptr operator- (difference_type diff, offset_ptr right)
 offset_ptr - diff operation More...
 
difference_type operator- (const offset_ptr &pt, const offset_ptr &pt2)
 offset_ptr - offset_ptr operation More...
 
bool operator== (const offset_ptr &pt1, const offset_ptr &pt2)
 
bool operator!= (const offset_ptr &pt1, const offset_ptr &pt2)
 
bool operator< (const offset_ptr &pt1, const offset_ptr &pt2)
 
bool operator<= (const offset_ptr &pt1, const offset_ptr &pt2)
 
bool operator> (const offset_ptr &pt1, const offset_ptr &pt2)
 
bool operator>= (const offset_ptr &pt1, const offset_ptr &pt2)
 
bool operator== (pointer pt1, const offset_ptr &pt2)
 
bool operator!= (pointer pt1, const offset_ptr &pt2)
 
bool operator< (pointer pt1, const offset_ptr &pt2)
 
bool operator<= (pointer pt1, const offset_ptr &pt2)
 
bool operator> (pointer pt1, const offset_ptr &pt2)
 
bool operator>= (pointer pt1, const offset_ptr &pt2)
 
bool operator== (const offset_ptr &pt1, pointer pt2)
 
bool operator!= (const offset_ptr &pt1, pointer pt2)
 
bool operator< (const offset_ptr &pt1, pointer pt2)
 
bool operator<= (const offset_ptr &pt1, pointer pt2)
 
bool operator> (const offset_ptr &pt1, pointer pt2)
 
bool operator>= (const offset_ptr &pt1, pointer pt2)
 
void swap (offset_ptr &left, offset_ptr &right)
 

Detailed Description

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
class boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >

A smart pointer that stores the offset between between the pointer and the the object it points.

This allows offset allows special properties, since the pointer is independent from the address address of the pointee, if the pointer and the pointee are still separated by the same offset. This feature converts offset_ptr in a smart pointer that can be placed in shared memory and memory mapped files mapped in different addresses in every process.

Template Parameters
PointedTypeThe type of the pointee.
DifferenceTypeA signed integer type that can represent the arithmetic operations on the pointer
OffsetTypeAn unsigned integer type that can represent the distance between two pointers reinterpret_cast-ed as unsigned integers. In general this type should be at least of the same size of std::uintptr_t. In some systems it's possible to communicate between 32 and 64 bit processes using 64 bit offsets.
OffsetAlignmentAlignment of the OffsetType stored inside. In some systems might be necessary to align it to 64 bits in order to communicate 32 and 64 bit processes using 64 bit offsets.

Member Typedef Documentation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef DifferenceType boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::difference_type
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef PointedType boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::element_type
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef std::random_access_iterator_tag boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::iterator_category
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef OffsetType boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_type
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef PointedType* boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::pointer
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef ipcdetail:: add_reference<PointedType>::type boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::reference
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
typedef ipcdetail:: remove_volatile<typename ipcdetail:: remove_const<PointedType>::type >::type boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::value_type

Constructor & Destructor Documentation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( )
inline
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( pointer  ptr)
inline

Constructor from raw pointer (allows "0" pointer conversion).

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T >
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( T ptr,
typename ipcdetail::enable_if< ipcdetail::is_convertible< T *, PointedType * > >::type = 0 
)
inline

Constructor from other pointer.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  ptr)
inline

Constructor from other offset_ptr Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 >
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &  ptr,
typename ipcdetail::enable_if_c< ipcdetail::is_convertible< T2 *, PointedType * >::value &&ipcdetail::offset_ptr_maintains_address< T2, PointedType >::value >::type = 0 
)
inline

Constructor from other offset_ptr.

If pointers of pointee types are convertible, offset_ptrs will be convertibles. Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 >
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &  ptr,
typename ipcdetail::enable_if_c< ipcdetail::is_convertible< T2 *, PointedType * >::value &&!ipcdetail::offset_ptr_maintains_address< T2, PointedType >::value >::type = 0 
)
inline

Constructor from other offset_ptr.

If pointers of pointee types are convertible, offset_ptrs will be convertibles. Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 , class P2 , class O2 , std::size_t A2>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< T2, P2, O2, A2 > &  r,
ipcdetail::static_cast_tag   
)
inline

Emulates static_cast operator.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 , class P2 , class O2 , std::size_t A2>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< T2, P2, O2, A2 > &  r,
ipcdetail::const_cast_tag   
)
inline

Emulates const_cast operator.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 , class P2 , class O2 , std::size_t A2>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< T2, P2, O2, A2 > &  r,
ipcdetail::dynamic_cast_tag   
)
inline

Emulates dynamic_cast operator.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 , class P2 , class O2 , std::size_t A2>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::offset_ptr ( const offset_ptr< T2, P2, O2, A2 > &  r,
ipcdetail::reinterpret_cast_tag   
)
inline

Emulates reinterpret_cast operator.

Never throws.

Member Function Documentation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_type boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::get_offset ( ) const
inline
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator unspecified_bool_type ( ) const
inline

safe bool conversion operator.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator! ( ) const
inline

Not operator.

Not needed in theory, but improves portability. Never throws

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
reference boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator* ( ) const
inline

Dereferencing operator, if it is a null offset_ptr behavior is undefined.

Never throws.

References boost::multiprecision::backends::p.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr& boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator++ ( void  )
inline

++offset_ptr.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator++ ( int  )
inline

offset_ptr++.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr& boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator+= ( difference_type  offset)
inline

offset_ptr += difference_type.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr& boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator-- ( void  )
inline

offset_ptr.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator-- ( int  )
inline

offset_ptr–.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr& boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator-= ( difference_type  offset)
inline

offset_ptr -= difference_type.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
pointer boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator-> ( ) const
inline

Pointer-like -> operator.

It can return 0 pointer. Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr& boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator= ( pointer  from)
inline

Assignment from pointer (saves extra conversion).

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr& boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  ptr)
inline

Assignment from other offset_ptr.

Never throws.

References boost::python::ptr().

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 >
ipcdetail::enable_if_c< ipcdetail::is_convertible<T2*, PointedType*>::value && ipcdetail::offset_ptr_maintains_address<T2, PointedType>::value , offset_ptr&>::type boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator= ( const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &  ptr)
inline

Assignment from related offset_ptr.

If pointers of pointee types are assignable, offset_ptrs will be assignable. Never throws.

References boost::python::ptr().

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
template<class T2 >
ipcdetail::enable_if_c<ipcdetail::is_convertible<T2*, PointedType*>::value && !ipcdetail::offset_ptr_maintains_address<T2, PointedType>::value , offset_ptr&>::type boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator= ( const offset_ptr< T2, DifferenceType, OffsetType, OffsetAlignment > &  ptr)
inline
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
reference boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::operator[] ( difference_type  idx) const
inline

Indexing operator.

Never throws.

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
static offset_ptr boost::interprocess::offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >::pointer_to ( reference  r)
inlinestatic

Friends And Related Function Documentation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator!= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator!= ( pointer  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator!= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
pointer  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr operator+ ( difference_type  diff,
offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >  right 
)
friend

difference_type + offset_ptr operation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr operator+ ( offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >  left,
difference_type  diff 
)
friend

offset_ptr + difference_type operation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr operator- ( offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >  left,
difference_type  diff 
)
friend

offset_ptr - diff operation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
offset_ptr operator- ( difference_type  diff,
offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment >  right 
)
friend

offset_ptr - diff operation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
difference_type operator- ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend

offset_ptr - offset_ptr operation

template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator< ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator< ( pointer  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator< ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
pointer  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator<= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator<= ( pointer  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator<= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
pointer  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator== ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator== ( pointer  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator== ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
pointer  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator> ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator> ( pointer  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator> ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
pointer  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator>= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator>= ( pointer  pt1,
const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
bool operator>= ( const offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  pt1,
pointer  pt2 
)
friend
template<class PointedType, class DifferenceType, class OffsetType, std::size_t OffsetAlignment>
void swap ( offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  left,
offset_ptr< PointedType, DifferenceType, OffsetType, OffsetAlignment > &  right 
)
friend

The documentation for this class was generated from the following files: