Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
InstanceMap

#include "jsonipc.hh"

Classes

class InstanceWrapper
class Wrapper

Public Types

usingCreateWrapper = Wrapper *(*)(const std::shared_ptr< SharedBase > &sptr, size_t &basedepth)
usingIdSet = std::set< size_t >
usingTypeidMap = std::map< TypeidKey, size_t >
usingWrapperMap = std::unordered_map< size_t, Wrapper * >

Public Member Functions

voidclear (const bool printdebug=false)
booldelete_id (size_t thisid)
boolempty () const
boolmark_unused ()
size_tpurge_unused (const std::vector< size_t > &unused)
size_tsize () const
virtual Wrapper *wrapper_from_json (const JsonValue &value)
virtual JsonValuewrapper_to_json (Wrapper *wrapper, const size_t thisid, JsonAllocator &allocator)
virtual~InstanceMap ()

Static Public Member Functions

static size_tnext_counter ()
static voidregister_wrapper (CreateWrapper createwrapper)
static boolscope_forget_id (size_t thisid)
static Wrapper *scope_lookup_wrapper (const JsonValue &value)
template<typename T >
static JsonValuescope_wrap_object (const std::shared_ptr< T > &sptr, JsonAllocator &allocator)
static std::vector< CreateWrapper > &wrapper_creators ()

Public Attributes

IdSet *idset_
TypeidMaptypeid_map_
WrapperMapwmap_

Member Typedef Documentation

CreateWrapper

using CreateWrapper = Wrapper* (*) (const std::shared_ptr<SharedBase> &sptr, size_t &basedepth)

WrapperMap

using WrapperMap = std::unordered_map<size_t, Wrapper*>

TypeidMap

using TypeidMap = std::map<TypeidKey, size_t>

IdSet

using IdSet = std::set<size_t>

Constructor & Destructor Documentation

~InstanceMap()

virtual ~InstanceMap ( )
virtual

Member Function Documentation

wrapper_creators()

static std::vector< CreateWrapper > & wrapper_creators ( )
static

register_wrapper()

static void register_wrapper ( CreateWrapper createwrapper)
static

next_counter()

static size_t next_counter ( )
static

delete_id()

bool delete_id ( size_t thisid)

mark_unused()

bool mark_unused ( )

purge_unused()

size_t purge_unused ( const std::vector< size_t > & unused)

empty()

bool empty ( ) const

size()

size_t size ( ) const

clear()

void clear ( const bool printdebug = false)

wrapper_to_json()

virtual JsonValue wrapper_to_json ( Wrapper * wrapper,
const size_t thisid,
JsonAllocator & allocator
)
virtual

scope_wrap_object()

template<typename T >
static JsonValue scope_wrap_object ( const std::shared_ptr< T > & sptr,
JsonAllocator & allocator
)
static

wrapper_from_json()

virtual Wrapper * wrapper_from_json ( const JsonValue & value)
virtual

scope_lookup_wrapper()

static Wrapper * scope_lookup_wrapper ( const JsonValue & value)
static

scope_forget_id()

static bool scope_forget_id ( size_t thisid)
static

Member Data Documentation

wmap_

WrapperMap wmap_

typeid_map_

TypeidMap typeid_map_

idset_

IdSet* idset_