Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
everett::reference_world< V, A, H > Struct Template Reference

#include <world.h>

Classes

struct  state
 

Public Types

using value_type = V
 
using element = typename A::element
 
using record = world_record< V >
 
using run = world_run< V >
 
using pin = std::shared_ptr< run const >
 
using pin_owner = pin_set< run, A >
 

Public Member Functions

 reference_world (H hash={})
 
std::optional< V > get (std::string_view key) const
 
std::size_t live_size () const noexcept
 
element signature () const
 
std::span< pin const > pins () const noexcept
 
pin_owner const & owner () const noexcept
 
reference_world snapshot () const
 
std::vector< record > resolved () const
 
element recompute_signature () const
 
reference_world compact () const
 
template<class C = u64_world_codec>
void export_rc (std::ostream &out, C codec={}) const
 

Static Public Member Functions

static reference_world from_records (std::vector< record > records, H hash={})
 
template<class C = u64_world_codec>
static reference_world import_rc (std::istream &in, C codec={}, H hash={}, world_import_limits limits={})
 

Private Member Functions

reference_world append (std::vector< world_edit< V > > const &edits) const
 

Private Attributes

std::shared_ptr< state const > state_
 
H hash_
 

Friends

template<class , class , class , class >
struct partition_round
 

Member Typedef Documentation

◆ element

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
using everett::reference_world< V, A, H >::element = typename A::element

◆ pin

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
using everett::reference_world< V, A, H >::pin = std::shared_ptr<run const>

◆ pin_owner

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
using everett::reference_world< V, A, H >::pin_owner = pin_set<run, A>

◆ record

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
using everett::reference_world< V, A, H >::record = world_record<V>

◆ run

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
using everett::reference_world< V, A, H >::run = world_run<V>

◆ value_type

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
using everett::reference_world< V, A, H >::value_type = V

Constructor & Destructor Documentation

◆ reference_world()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
everett::reference_world< V, A, H >::reference_world ( H  hash = {})
inlineexplicit

Member Function Documentation

◆ append()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
reference_world everett::reference_world< V, A, H >::append ( std::vector< world_edit< V > > const &  edits) const
inlineprivate

◆ compact()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
reference_world everett::reference_world< V, A, H >::compact ( ) const
inline

◆ export_rc()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
template<class C = u64_world_codec>
void everett::reference_world< V, A, H >::export_rc ( std::ostream &  out,
C  codec = {} 
) const
inline

◆ from_records()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
static reference_world everett::reference_world< V, A, H >::from_records ( std::vector< record >  records,
H  hash = {} 
)
inlinestatic

◆ get()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
std::optional< V > everett::reference_world< V, A, H >::get ( std::string_view  key) const
inline

◆ import_rc()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
template<class C = u64_world_codec>
static reference_world everett::reference_world< V, A, H >::import_rc ( std::istream &  in,
C  codec = {},
H  hash = {},
world_import_limits  limits = {} 
)
inlinestatic

◆ live_size()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
std::size_t everett::reference_world< V, A, H >::live_size ( ) const
inlinenoexcept

◆ owner()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
pin_owner const & everett::reference_world< V, A, H >::owner ( ) const
inlinenoexcept

◆ pins()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
std::span< pin const > everett::reference_world< V, A, H >::pins ( ) const
inlinenoexcept

◆ recompute_signature()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
element everett::reference_world< V, A, H >::recompute_signature ( ) const
inline

◆ resolved()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
std::vector< record > everett::reference_world< V, A, H >::resolved ( ) const
inline

◆ signature()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
element everett::reference_world< V, A, H >::signature ( ) const
inline

◆ snapshot()

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
reference_world everett::reference_world< V, A, H >::snapshot ( ) const
inline

Friends And Related Symbol Documentation

◆ partition_round

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
template<class , class , class , class >
friend struct partition_round
friend

Member Data Documentation

◆ hash_

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
H everett::reference_world< V, A, H >::hash_
private

◆ state_

template<class V = std::uint64_t, class A = wrapping_fingerprint_algebra, class H = u64_table_hash>
std::shared_ptr<state const> everett::reference_world< V, A, H >::state_
private

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