OpenDDS  Snapshot(2023/04/28-20:55)
Public Member Functions | Private Attributes | List of all members
OpenDDS::XTypes::External< T > Class Template Reference

#include <External.h>

Collaboration diagram for OpenDDS::XTypes::External< T >:
Collaboration graph
[legend]

Public Member Functions

 External ()
 
 External (T *p, bool locked=false)
 
 External (const External &other)
 
Externaloperator= (const External &other)
 
 External (const T &value)
 
Externaloperator= (const T &value)
 
T & operator* ()
 
const T & operator* () const
 
T * get ()
 
const T * get () const
 
T * operator-> ()
 
const T * operator-> () const
 
bool operator== (const External &other) const
 
bool operator!= (const External &other) const
 
bool operator< (const External &other) const
 
 operator bool () const
 

Private Attributes

DCPS::unique_ptr< T > ptr_
 

Detailed Description

template<typename T>
class OpenDDS::XTypes::External< T >

Simplified version of the XTypes 1.3 mapping External Members (Modern C++) See section 7.5.1.2.3.2. Differences from spec:

Definition at line 26 of file External.h.

Constructor & Destructor Documentation

◆ External() [1/4]

template<typename T >
OpenDDS::XTypes::External< T >::External ( )

Definition at line 61 of file External.h.

62  : ptr_(new T)
63 {}
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ External() [2/4]

template<typename T>
OpenDDS::XTypes::External< T >::External ( T *  p,
bool  locked = false 
)
explicit

Definition at line 71 of file External.h.

72  : ptr_(p)
73 {}
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ External() [3/4]

template<typename T>
OpenDDS::XTypes::External< T >::External ( const External< T > &  other)

Definition at line 76 of file External.h.

77  : ptr_(new T(*other))
78 {}
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ External() [4/4]

template<typename T>
OpenDDS::XTypes::External< T >::External ( const T &  value)

Definition at line 66 of file External.h.

67  : ptr_(new T(value))
68 {}
const LogLevel::Value value
Definition: debug.cpp:61
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

Member Function Documentation

◆ get() [1/2]

template<typename T>
T* OpenDDS::XTypes::External< T >::get ( void  )
inline

Definition at line 42 of file External.h.

42 { return ptr_.get(); }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ get() [2/2]

template<typename T>
const T* OpenDDS::XTypes::External< T >::get ( void  ) const
inline

Definition at line 43 of file External.h.

43 { return ptr_.get(); }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator bool()

template<typename T>
OpenDDS::XTypes::External< T >::operator bool ( ) const
inline

Definition at line 52 of file External.h.

52 { return ptr_; }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator!=()

template<typename T>
bool OpenDDS::XTypes::External< T >::operator!= ( const External< T > &  other) const
inline

Definition at line 50 of file External.h.

50 { return ptr_ != other.ptr_; }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator*() [1/2]

template<typename T>
T& OpenDDS::XTypes::External< T >::operator* ( void  )
inline

Definition at line 39 of file External.h.

39 { return *ptr_; }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator*() [2/2]

template<typename T>
const T& OpenDDS::XTypes::External< T >::operator* ( void  ) const
inline

Definition at line 40 of file External.h.

40 { return *ptr_; }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator->() [1/2]

template<typename T>
T* OpenDDS::XTypes::External< T >::operator-> ( void  )
inline

Definition at line 45 of file External.h.

45 { return ptr_.get(); }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator->() [2/2]

template<typename T>
const T* OpenDDS::XTypes::External< T >::operator-> ( void  ) const
inline

Definition at line 46 of file External.h.

46 { return ptr_.get(); }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator<()

template<typename T>
bool OpenDDS::XTypes::External< T >::operator< ( const External< T > &  other) const
inline

Definition at line 51 of file External.h.

51 { return ptr_ < other.ptr_; }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator=() [1/2]

template<typename T >
External< T > & OpenDDS::XTypes::External< T >::operator= ( const External< T > &  other)

Definition at line 81 of file External.h.

82 {
83  ptr_.reset(new T(*other));
84  return *this;
85 }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator=() [2/2]

template<typename T>
External< T > & OpenDDS::XTypes::External< T >::operator= ( const T &  value)

Definition at line 88 of file External.h.

89 {
90  ptr_.reset(new T(value));
91  return *this;
92 }
const LogLevel::Value value
Definition: debug.cpp:61
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

◆ operator==()

template<typename T>
bool OpenDDS::XTypes::External< T >::operator== ( const External< T > &  other) const
inline

Definition at line 49 of file External.h.

49 { return ptr_ == other.ptr_; }
DCPS::unique_ptr< T > ptr_
Definition: External.h:57

Member Data Documentation

◆ ptr_

template<typename T>
DCPS::unique_ptr<T> OpenDDS::XTypes::External< T >::ptr_
private

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