Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::runtime_store_detail::runtime_registry< Node, Visit > Struct Template Reference

#include <runtime_registry.h>

Classes

struct  entry
 

Public Types

using pair_type = typename Node::pair_type
 
using native_pointer = typename Node::native_pointer
 
using native_root = std::pair< object_id, native_pointer >
 

Public Member Functions

 runtime_registry (Visit visit={})
 
 runtime_registry (runtime_registry const &)=delete
 
runtime_registry & operator= (runtime_registry const &)=delete
 
 runtime_registry (runtime_registry &&other) noexcept
 
runtime_registry & operator= (runtime_registry &&other) noexcept
 
 ~runtime_registry ()
 
pair_type pair (blob_identity const &id) const
 
native_pointer native (object_id const &id) const
 
std::size_t pair_count () const noexcept
 
std::size_t native_count () const noexcept
 
bool replace (std::vector< pair_type > pairs, std::vector< native_root > natives)
 
void clear () noexcept
 

Private Member Functions

void swap_roots (runtime_registry &other) noexcept
 
bool acquire_native (object_id const &id, native_pointer const &value)
 
bool acquire_pair (pair_type const &value)
 
void release_native (object_id const &id) noexcept
 
void release_pair (blob_identity const &id) noexcept
 

Static Private Member Functions

template<class Map >
static void trim (Map &map) noexcept
 

Private Attributes

std::unordered_map< std::string, entry< pair_type > > pairs_
 
std::unordered_map< std::string, entry< native_pointer > > natives_
 
std::vector< pair_type > pair_roots_
 
std::vector< native_root > native_roots_
 
Visit visit_
 

Member Typedef Documentation

◆ native_pointer

template<class Node , class Visit = ignore_registry_visits>
using everett::runtime_store_detail::runtime_registry< Node, Visit >::native_pointer = typename Node::native_pointer

◆ native_root

template<class Node , class Visit = ignore_registry_visits>
using everett::runtime_store_detail::runtime_registry< Node, Visit >::native_root = std::pair<object_id, native_pointer>

◆ pair_type

template<class Node , class Visit = ignore_registry_visits>
using everett::runtime_store_detail::runtime_registry< Node, Visit >::pair_type = typename Node::pair_type

Constructor & Destructor Documentation

◆ runtime_registry() [1/3]

template<class Node , class Visit = ignore_registry_visits>
everett::runtime_store_detail::runtime_registry< Node, Visit >::runtime_registry ( Visit  visit = {})
inlineexplicit

◆ runtime_registry() [2/3]

template<class Node , class Visit = ignore_registry_visits>
everett::runtime_store_detail::runtime_registry< Node, Visit >::runtime_registry ( runtime_registry< Node, Visit > const &  )
delete

◆ runtime_registry() [3/3]

template<class Node , class Visit = ignore_registry_visits>
everett::runtime_store_detail::runtime_registry< Node, Visit >::runtime_registry ( runtime_registry< Node, Visit > &&  other)
inlinenoexcept

◆ ~runtime_registry()

template<class Node , class Visit = ignore_registry_visits>
everett::runtime_store_detail::runtime_registry< Node, Visit >::~runtime_registry ( )
inline

Member Function Documentation

◆ acquire_native()

template<class Node , class Visit = ignore_registry_visits>
bool everett::runtime_store_detail::runtime_registry< Node, Visit >::acquire_native ( object_id const &  id,
native_pointer const &  value 
)
inlineprivate

◆ acquire_pair()

template<class Node , class Visit = ignore_registry_visits>
bool everett::runtime_store_detail::runtime_registry< Node, Visit >::acquire_pair ( pair_type const &  value)
inlineprivate

◆ clear()

template<class Node , class Visit = ignore_registry_visits>
void everett::runtime_store_detail::runtime_registry< Node, Visit >::clear ( )
inlinenoexcept

◆ native()

template<class Node , class Visit = ignore_registry_visits>
native_pointer everett::runtime_store_detail::runtime_registry< Node, Visit >::native ( object_id const &  id) const
inline

◆ native_count()

template<class Node , class Visit = ignore_registry_visits>
std::size_t everett::runtime_store_detail::runtime_registry< Node, Visit >::native_count ( ) const
inlinenoexcept

◆ operator=() [1/2]

template<class Node , class Visit = ignore_registry_visits>
runtime_registry & everett::runtime_store_detail::runtime_registry< Node, Visit >::operator= ( runtime_registry< Node, Visit > &&  other)
inlinenoexcept

◆ operator=() [2/2]

template<class Node , class Visit = ignore_registry_visits>
runtime_registry & everett::runtime_store_detail::runtime_registry< Node, Visit >::operator= ( runtime_registry< Node, Visit > const &  )
delete

◆ pair()

template<class Node , class Visit = ignore_registry_visits>
pair_type everett::runtime_store_detail::runtime_registry< Node, Visit >::pair ( blob_identity const &  id) const
inline

◆ pair_count()

template<class Node , class Visit = ignore_registry_visits>
std::size_t everett::runtime_store_detail::runtime_registry< Node, Visit >::pair_count ( ) const
inlinenoexcept

◆ release_native()

template<class Node , class Visit = ignore_registry_visits>
void everett::runtime_store_detail::runtime_registry< Node, Visit >::release_native ( object_id const &  id)
inlineprivatenoexcept

◆ release_pair()

template<class Node , class Visit = ignore_registry_visits>
void everett::runtime_store_detail::runtime_registry< Node, Visit >::release_pair ( blob_identity const &  id)
inlineprivatenoexcept

◆ replace()

template<class Node , class Visit = ignore_registry_visits>
bool everett::runtime_store_detail::runtime_registry< Node, Visit >::replace ( std::vector< pair_type >  pairs,
std::vector< native_root >  natives 
)
inline

◆ swap_roots()

template<class Node , class Visit = ignore_registry_visits>
void everett::runtime_store_detail::runtime_registry< Node, Visit >::swap_roots ( runtime_registry< Node, Visit > &  other)
inlineprivatenoexcept

◆ trim()

template<class Node , class Visit = ignore_registry_visits>
template<class Map >
static void everett::runtime_store_detail::runtime_registry< Node, Visit >::trim ( Map &  map)
inlinestaticprivatenoexcept

Member Data Documentation

◆ native_roots_

template<class Node , class Visit = ignore_registry_visits>
std::vector<native_root> everett::runtime_store_detail::runtime_registry< Node, Visit >::native_roots_
private

◆ natives_

template<class Node , class Visit = ignore_registry_visits>
std::unordered_map<std::string, entry<native_pointer> > everett::runtime_store_detail::runtime_registry< Node, Visit >::natives_
private

◆ pair_roots_

template<class Node , class Visit = ignore_registry_visits>
std::vector<pair_type> everett::runtime_store_detail::runtime_registry< Node, Visit >::pair_roots_
private

◆ pairs_

template<class Node , class Visit = ignore_registry_visits>
std::unordered_map<std::string, entry<pair_type> > everett::runtime_store_detail::runtime_registry< Node, Visit >::pairs_
private

◆ visit_

template<class Node , class Visit = ignore_registry_visits>
Visit everett::runtime_store_detail::runtime_registry< Node, Visit >::visit_
private

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