rippled
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ripple::detail::STVar Class Reference

#include <STVar.h>

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)
 
template<typename... Args>
requires ValidConstructSTArgs<Args...>
void constructST (SerializedTypeID id, int depth, Args &&... arg)
 Construct requested Serializable Type according to id.
 
bool on_heap () const
 

Private Attributes

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

Static Private Attributes

static std::size_t constexpr max_size = 72
 

Friends

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

Detailed Description

Definition at line 42 of file STVar.h.

Constructor & Destructor Documentation

◆ ~STVar()

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

Definition at line 33 of file STVar.cpp.

◆ STVar() [1/9]

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

Definition at line 38 of file STVar.cpp.

◆ STVar() [2/9]

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

Definition at line 44 of file STVar.cpp.

◆ STVar() [3/9]

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

Definition at line 60 of file STVar.h.

◆ STVar() [4/9]

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

Definition at line 65 of file STVar.h.

◆ STVar() [5/9]

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

Definition at line 92 of file STVar.cpp.

◆ STVar() [6/9]

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

Definition at line 96 of file STVar.cpp.

◆ STVar() [7/9]

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

Definition at line 101 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 108 of file STVar.cpp.

Member Function Documentation

◆ operator=() [1/2]

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

Definition at line 58 of file STVar.cpp.

◆ operator=() [2/2]

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

Definition at line 73 of file STVar.cpp.

◆ get() [1/2]

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

Definition at line 75 of file STVar.h.

◆ operator*() [1/2]

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

Definition at line 80 of file STVar.h.

◆ operator->() [1/2]

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

Definition at line 85 of file STVar.h.

◆ get() [2/2]

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

Definition at line 90 of file STVar.h.

◆ operator*() [2/2]

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

Definition at line 95 of file STVar.h.

◆ operator->() [2/2]

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

Definition at line 100 of file STVar.h.

◆ destroy()

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

Definition at line 117 of file STVar.cpp.

◆ construct()

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

Definition at line 119 of file STVar.h.

◆ constructST()

template<typename... Args>
requires ValidConstructSTArgs<Args...>
void ripple::detail::STVar::constructST ( SerializedTypeID  id,
int  depth,
Args &&...  arg 
)
private

Construct requested Serializable Type according to id.

The variadic args are: (SField), or (SerialIter, SField). depth is ignored in former case.

Definition at line 130 of file STVar.cpp.

◆ on_heap()

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

Definition at line 137 of file STVar.h.

Friends And Related Symbol Documentation

◆ make_stvar

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

Definition at line 145 of file STVar.h.

Member Data Documentation

◆ max_size

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

Definition at line 46 of file STVar.h.

◆ d_

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

Definition at line 48 of file STVar.h.

◆ p_

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

Definition at line 49 of file STVar.h.