cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::util::impl::SharedObject< T > Class Template Reference

Class to hold shared objects. More...

#include <msgpack_rpc/util/impl/shared_objects.h>

Collaboration diagram for msgpack_rpc::util::impl::SharedObject< T >:

Public Member Functions

 SharedObject () noexcept=default
 Constructor.
 SharedObject (const SharedObject &other) noexcept
 Copy constructor.
 SharedObject (SharedObject &&other) noexcept
 Move constructor.
 SharedObject (SharedObjectBuffer< T > *buffer, std::shared_ptr< SharedObjectMemoryPool< T > > memory_pool) noexcept
 Constructor.
 ~SharedObject () noexcept
 Destructor.
SharedObjectoperator= (const SharedObject &other) noexcept
 Copy assignment operator.
SharedObjectoperator= (SharedObject &&other) noexcept
 Move assignment operator.
void reset () noexcept
 Remove the buffer.

Private Attributes

SharedObjectBuffer< T > * buffer_ {nullptr}
 Buffer of the shared object.
std::shared_ptr< SharedObjectMemoryPool< T > > memory_pool_ {}
 Memory pool.

Detailed Description

template<typename T>
class msgpack_rpc::util::impl::SharedObject< T >

Class to hold shared objects.

Template Parameters
TTypes of the shared objects.

Definition at line 116 of file shared_objects.h.

Constructor & Destructor Documentation

◆ SharedObject() [1/3]

template<typename T>
msgpack_rpc::util::impl::SharedObject< T >::SharedObject ( SharedObjectBuffer< T > * buffer,
std::shared_ptr< SharedObjectMemoryPool< T > > memory_pool )
inlineexplicitnoexcept

Constructor.

Parameters
[in]bufferBuffer of a shared object.
[in]memory_poolMemory pool.

Definition at line 129 of file shared_objects.h.

◆ SharedObject() [2/3]

template<typename T>
msgpack_rpc::util::impl::SharedObject< T >::SharedObject ( const SharedObject< T > & other)
inlinenoexcept

Copy constructor.

Parameters
[in]otherObject to move from.

Definition at line 138 of file shared_objects.h.

◆ SharedObject() [3/3]

template<typename T>
msgpack_rpc::util::impl::SharedObject< T >::SharedObject ( SharedObject< T > && other)
inlinenoexcept

Move constructor.

Parameters
[in]otherObject to move from.

Definition at line 150 of file shared_objects.h.

◆ ~SharedObject()

template<typename T>
msgpack_rpc::util::impl::SharedObject< T >::~SharedObject ( )
inlinenoexcept

Destructor.

Definition at line 191 of file shared_objects.h.

Member Function Documentation

◆ operator=() [1/2]

template<typename T>
SharedObject & msgpack_rpc::util::impl::SharedObject< T >::operator= ( const SharedObject< T > & other)
inlinenoexcept

Copy assignment operator.

Parameters
[in]otherObject to copy from.
Returns
This object.

Definition at line 161 of file shared_objects.h.

◆ operator=() [2/2]

template<typename T>
SharedObject & msgpack_rpc::util::impl::SharedObject< T >::operator= ( SharedObject< T > && other)
inlinenoexcept

Move assignment operator.

Parameters
[in]otherObject to move from.
Returns
This object.

Definition at line 180 of file shared_objects.h.

◆ reset()

template<typename T>
void msgpack_rpc::util::impl::SharedObject< T >::reset ( )
inlinenoexcept

Remove the buffer.

Definition at line 196 of file shared_objects.h.

Member Data Documentation

◆ buffer_

template<typename T>
SharedObjectBuffer<T>* msgpack_rpc::util::impl::SharedObject< T >::buffer_ {nullptr}
private

Buffer of the shared object.

Definition at line 206 of file shared_objects.h.

◆ memory_pool_

template<typename T>
std::shared_ptr<SharedObjectMemoryPool<T> > msgpack_rpc::util::impl::SharedObject< T >::memory_pool_ {}
private

Memory pool.

Definition at line 209 of file shared_objects.h.


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