Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family > Struct Template Reference

#include <runtime_graph_sealer.h>

Classes

struct  ready_unit
 

Public Types

using catalog_type = sqlite_catalog< P, Ops >
 
using node_type = typename Family::node_type
 
using native_type = typename Family::native_type
 
using pair_type = typename node_type::pair_type
 
using native_pointer = typename node_type::native_pointer
 
using mapped_pointer = decltype(std::declval< node_type const & >().mapped())
 
using mapped_type = std::remove_const_t< typename mapped_pointer::element_type >
 
using mapped_native_type = typename mapped_type::native_type
 
using native_binding_type = native_binding< mapped_native_type >
 
using pair_binding_type = pair_binding< mapped_type >
 

Public Member Functions

 graph_sealer (catalog_type &catalog, Ids &ids, std::string *last_operation=nullptr)
 
std::size_t prepare_ready (std::span< pair_type const > roots, std::span< native_pointer const > natives)
 
std::shared_ptr< native_binding_type const > ensure_native (native_pointer const &native)
 
std::shared_ptr< pair_binding_type const > ensure_pair (pair_type const &pair)
 
void bind_native (native_pointer const &native, object_id const &id)
 
void bind_pair (pair_type const &pair, blob_identity const &id)
 
object_id native_id (native_pointer const &native) const
 
blob_identity pair_id (pair_type const &pair) const
 
native_pointer mapped_native (native_pointer const &native)
 
pair_type mapped_pair (pair_type const &pair)
 

Private Types

using native_producer = typename catalog_bindings< native_binding_type >::producer
 
using pair_producer = typename catalog_bindings< pair_binding_type >::producer
 

Private Member Functions

void finish_ready (ready_unit &unit, object_attempt_id const &attempt)
 
std::string operation ()
 
auto encode_native (native_pointer const &native)
 
std::shared_ptr< native_binding_type const > produce_native (native_pointer const &native)
 
object_attempt_id reserve (object_id const &id, file_kind kind, std::span< blob_identity const > inputs={})
 
object_attempt_id reserve (std::span< catalog_object_reservation const > outputs, std::span< blob_identity const > inputs={})
 

Static Private Member Functions

static bool batch_owned (native_pointer const &native)
 

Private Attributes

catalog_type & catalog_
 
Ids & ids_
 
std::string * last_operation_
 

Member Typedef Documentation

◆ catalog_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::catalog_type = sqlite_catalog<P, Ops>

◆ mapped_native_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::mapped_native_type = typename mapped_type::native_type

◆ mapped_pointer

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::mapped_pointer = decltype(std::declval<node_type const &>().mapped())

◆ mapped_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::mapped_type = std::remove_const_t<typename mapped_pointer::element_type>

◆ native_binding_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::native_binding_type = native_binding<mapped_native_type>

◆ native_pointer

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::native_pointer = typename node_type::native_pointer

◆ native_producer

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::native_producer = typename catalog_bindings<native_binding_type>::producer
private

◆ native_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::native_type = typename Family::native_type

◆ node_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::node_type = typename Family::node_type

◆ pair_binding_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::pair_binding_type = pair_binding<mapped_type>

◆ pair_producer

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::pair_producer = typename catalog_bindings<pair_binding_type>::producer
private

◆ pair_type

template<class P , class Ids , class Ops , class Family >
using everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::pair_type = typename node_type::pair_type

Constructor & Destructor Documentation

◆ graph_sealer()

template<class P , class Ids , class Ops , class Family >
everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::graph_sealer ( catalog_type &  catalog,
Ids &  ids,
std::string *  last_operation = nullptr 
)
inline

Member Function Documentation

◆ batch_owned()

template<class P , class Ids , class Ops , class Family >
static bool everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::batch_owned ( native_pointer const &  native)
inlinestaticprivate

◆ bind_native()

template<class P , class Ids , class Ops , class Family >
void everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::bind_native ( native_pointer const &  native,
object_id const &  id 
)
inline

◆ bind_pair()

template<class P , class Ids , class Ops , class Family >
void everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::bind_pair ( pair_type const &  pair,
blob_identity const &  id 
)
inline

◆ encode_native()

template<class P , class Ids , class Ops , class Family >
auto everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::encode_native ( native_pointer const &  native)
inlineprivate

◆ ensure_native()

template<class P , class Ids , class Ops , class Family >
std::shared_ptr< native_binding_type const > everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::ensure_native ( native_pointer const &  native)
inline

◆ ensure_pair()

template<class P , class Ids , class Ops , class Family >
std::shared_ptr< pair_binding_type const > everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::ensure_pair ( pair_type const &  pair)
inline

◆ finish_ready()

template<class P , class Ids , class Ops , class Family >
void everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::finish_ready ( ready_unit &  unit,
object_attempt_id const &  attempt 
)
inlineprivate

◆ mapped_native()

template<class P , class Ids , class Ops , class Family >
native_pointer everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::mapped_native ( native_pointer const &  native)
inline

◆ mapped_pair()

template<class P , class Ids , class Ops , class Family >
pair_type everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::mapped_pair ( pair_type const &  pair)
inline

◆ native_id()

template<class P , class Ids , class Ops , class Family >
object_id everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::native_id ( native_pointer const &  native) const
inline

◆ operation()

template<class P , class Ids , class Ops , class Family >
std::string everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::operation ( )
inlineprivate

◆ pair_id()

template<class P , class Ids , class Ops , class Family >
blob_identity everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::pair_id ( pair_type const &  pair) const
inline

◆ prepare_ready()

template<class P , class Ids , class Ops , class Family >
std::size_t everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::prepare_ready ( std::span< pair_type const >  roots,
std::span< native_pointer const >  natives 
)
inline

◆ produce_native()

template<class P , class Ids , class Ops , class Family >
std::shared_ptr< native_binding_type const > everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::produce_native ( native_pointer const &  native)
inlineprivate

◆ reserve() [1/2]

template<class P , class Ids , class Ops , class Family >
object_attempt_id everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::reserve ( object_id const &  id,
file_kind  kind,
std::span< blob_identity const >  inputs = {} 
)
inlineprivate

◆ reserve() [2/2]

template<class P , class Ids , class Ops , class Family >
object_attempt_id everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::reserve ( std::span< catalog_object_reservation const >  outputs,
std::span< blob_identity const >  inputs = {} 
)
inlineprivate

Member Data Documentation

◆ catalog_

template<class P , class Ids , class Ops , class Family >
catalog_type& everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::catalog_
private

◆ ids_

template<class P , class Ids , class Ops , class Family >
Ids& everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::ids_
private

◆ last_operation_

template<class P , class Ids , class Ops , class Family >
std::string* everett::runtime_store_detail::graph_sealer< P, Ids, Ops, Family >::last_operation_
private

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