rippled
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ripple::detail::STVar Class Reference
Collaboration diagram for ripple::detail::STVar:
Collaboration graph
[legend]

Public Member Functions

 ~STVar ()
 
 STVar (STVar const &other)
 
 STVar (STVar &&other)
 
STVaroperator= (STVar const &rhs)
 
STVaroperator= (STVar &&rhs)
 
 STVar (STBase &&t)
 
 STVar (STBase const &t)
 
 STVar (defaultObject_t, SField const &name)
 
 STVar (nonPresentObject_t, SField const &name)
 
 STVar (SerialIter &sit, SField const &name, int depth=0)
 
STBaseget ()
 
STBaseoperator* ()
 
STBaseoperator-> ()
 
STBase const & get () const
 
STBase const & operator* () const
 
STBase const * operator-> () const
 

Private Member Functions

 STVar ()=default
 
 STVar (SerializedTypeID id, SField const &name)
 
void destroy ()
 
template<class T , class... Args>
void construct (Args &&... args)
 
bool on_heap () const
 

Private Attributes

std::aligned_storage< max_size >::type d_
 
STBasep_ = nullptr
 

Static Private Attributes

static constexpr std::size_t max_size = 72
 

Friends

template<class T , class... Args>
STVar make_stvar (Args &&... args)
 

Detailed Description

Definition at line 49 of file STVar.h.

Constructor & Destructor Documentation

◆ ~STVar()

ripple::detail::STVar::~STVar ( )

Definition at line 41 of file STVar.cpp.

◆ STVar() [1/9]

ripple::detail::STVar::STVar ( STVar const &  other)

Definition at line 46 of file STVar.cpp.

◆ STVar() [2/9]

ripple::detail::STVar::STVar ( STVar &&  other)

Definition at line 52 of file STVar.cpp.

◆ STVar() [3/9]

ripple::detail::STVar::STVar ( STBase &&  t)

Definition at line 67 of file STVar.h.

◆ STVar() [4/9]

ripple::detail::STVar::STVar ( STBase const &  t)

Definition at line 72 of file STVar.h.

◆ STVar() [5/9]

ripple::detail::STVar::STVar ( defaultObject_t  ,
SField const &  name 
)

Definition at line 100 of file STVar.cpp.

◆ STVar() [6/9]

ripple::detail::STVar::STVar ( nonPresentObject_t  ,
SField const &  name 
)

Definition at line 104 of file STVar.cpp.

◆ STVar() [7/9]

ripple::detail::STVar::STVar ( SerialIter sit,
SField const &  name,
int  depth = 0 
)

Definition at line 109 of file STVar.cpp.

◆ STVar() [8/9]

ripple::detail::STVar::STVar ( )
privatedefault

◆ STVar() [9/9]

ripple::detail::STVar::STVar ( SerializedTypeID  id,
SField const &  name 
)
private

Definition at line 165 of file STVar.cpp.

Member Function Documentation

◆ operator=() [1/2]

STVar & ripple::detail::STVar::operator= ( STVar const &  rhs)

Definition at line 66 of file STVar.cpp.

◆ operator=() [2/2]

STVar & ripple::detail::STVar::operator= ( STVar &&  rhs)

Definition at line 81 of file STVar.cpp.

◆ get() [1/2]

STBase& ripple::detail::STVar::get ( )

Definition at line 82 of file STVar.h.

◆ operator*() [1/2]

STBase& ripple::detail::STVar::operator* ( )

Definition at line 87 of file STVar.h.

◆ operator->() [1/2]

STBase* ripple::detail::STVar::operator-> ( )

Definition at line 92 of file STVar.h.

◆ get() [2/2]

STBase const& ripple::detail::STVar::get ( ) const

Definition at line 97 of file STVar.h.

◆ operator*() [2/2]

STBase const& ripple::detail::STVar::operator* ( ) const

Definition at line 102 of file STVar.h.

◆ operator->() [2/2]

STBase const* ripple::detail::STVar::operator-> ( ) const

Definition at line 107 of file STVar.h.

◆ destroy()

void ripple::detail::STVar::destroy ( )
private

Definition at line 221 of file STVar.cpp.

◆ construct()

template<class T , class... Args>
void ripple::detail::STVar::construct ( Args &&...  args)
private

Definition at line 126 of file STVar.h.

◆ on_heap()

bool ripple::detail::STVar::on_heap ( ) const
private

Definition at line 135 of file STVar.h.

Friends And Related Function Documentation

◆ make_stvar

template<class T , class... Args>
STVar make_stvar ( Args &&...  args)
friend

Definition at line 143 of file STVar.h.

Member Data Documentation

◆ max_size

constexpr std::size_t ripple::detail::STVar::max_size = 72
staticconstexprprivate

Definition at line 53 of file STVar.h.

◆ d_

std::aligned_storage<max_size>::type ripple::detail::STVar::d_
private

Definition at line 55 of file STVar.h.

◆ p_

STBase* ripple::detail::STVar::p_ = nullptr
private

Definition at line 56 of file STVar.h.