Fast CDR  Version 2.3.0
Fast CDR
external< T > Class Template Reference

This class template manages an external member, a member declared to be external to the storage of a type. More...

#include <external.hpp>

Public Types

using type = T
 

Public Member Functions

 external ()=default
 Default constructor. More...
 
 external (T *pointer, bool locked=false) noexcept
 Constructor from a pointer. More...
 
 external (std::shared_ptr< T > pointer) noexcept
 Constructor from a shared pointer. More...
 
 external (const external< T > &other) noexcept
 Copy constructor. More...
 
external< T > & operator= (const external< T > &other)
 Assignment. More...
 
 ~external ()=default
 Destructor. More...
 
T & operator* () noexcept
 Dereference object. More...
 
const T & operator* () const noexcept
 Dereference object. More...
 
T * get () noexcept
 Get pointer. More...
 
const T * get () const noexcept
 Get pointer. More...
 
std::shared_ptr< T > get_shared_ptr () noexcept
 Get shared pointer. More...
 
T * operator-> () noexcept
 Dereference object member. More...
 
const T * operator-> () const noexcept
 Dereference object member. More...
 
bool operator== (const external< T > &other) const
 Compares they manage the same object or empty both. More...
 
bool operator!= (const external< T > &other) const
 Compares they don't manages the same object. More...
 
 operator bool () const noexcept
 Checks if not null. More...
 
bool is_locked () const noexcept
 Checks if locked. More...
 
void lock () noexcept
 Locks the managed object. More...
 

Detailed Description

template<class T>
class eprosima::fastcdr::external< T >

This class template manages an external member, a member declared to be external to the storage of a type.

Member Typedef Documentation

◆ type

using type = T

Constructor & Destructor Documentation

◆ external() [1/4]

external ( )
default

Default constructor.

◆ external() [2/4]

external ( T *  pointer,
bool  locked = false 
)
inlinenoexcept

Constructor from a pointer.

◆ external() [3/4]

external ( std::shared_ptr< T >  pointer)
inlinenoexcept

Constructor from a shared pointer.

◆ external() [4/4]

external ( const external< T > &  other)
inlinenoexcept

Copy constructor.

◆ ~external()

~external ( )
default

Destructor.

Member Function Documentation

◆ get() [1/2]

const T* get ( ) const
inlinenoexcept

Get pointer.

◆ get() [2/2]

T* get ( )
inlinenoexcept

Get pointer.

◆ get_shared_ptr()

std::shared_ptr<T> get_shared_ptr ( )
inlinenoexcept

Get shared pointer.

◆ is_locked()

bool is_locked ( ) const
inlinenoexcept

Checks if locked.

◆ lock()

void lock ( )
inlinenoexcept

Locks the managed object.

◆ operator bool()

operator bool ( ) const
inlinenoexcept

Checks if not null.

◆ operator!=()

bool operator!= ( const external< T > &  other) const
inline

Compares they don't manages the same object.

◆ operator*() [1/2]

const T& operator* ( ) const
inlinenoexcept

Dereference object.

◆ operator*() [2/2]

T& operator* ( )
inlinenoexcept

Dereference object.

◆ operator->() [1/2]

const T* operator-> ( ) const
inlinenoexcept

Dereference object member.

◆ operator->() [2/2]

T* operator-> ( )
inlinenoexcept

Dereference object member.

◆ operator=()

external<T>& operator= ( const external< T > &  other)
inline

Assignment.

◆ operator==()

bool operator== ( const external< T > &  other) const
inline

Compares they manage the same object or empty both.


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