Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
everett::catalog_bindings< T > Struct Template Reference

#include <catalog_bindings.h>

Classes

struct  producer
 
struct  slot
 

Public Types

using pointer = std::shared_ptr< T const >
 

Public Member Functions

producer prepare (object_id const &catalog, std::filesystem::path const &root) const
 
 catalog_bindings ()=default
 
 catalog_bindings (catalog_bindings const &)=delete
 
catalog_bindings & operator= (catalog_bindings const &)=delete
 
pointer find (object_id const &catalog, std::filesystem::path const &root) const
 
template<class F >
pointer get_or_create (object_id const &catalog, std::filesystem::path const &root, F &&produce) const
 

Private Member Functions

std::shared_ptr< slot > locate (object_id const &catalog, std::filesystem::path const &root, bool create) const
 

Private Attributes

std::mutex mutex_
 
std::vector< std::shared_ptr< slot > > entries_
 

Member Typedef Documentation

◆ pointer

template<class T >
using everett::catalog_bindings< T >::pointer = std::shared_ptr<T const>

Constructor & Destructor Documentation

◆ catalog_bindings() [1/2]

template<class T >
everett::catalog_bindings< T >::catalog_bindings ( )
default

◆ catalog_bindings() [2/2]

template<class T >
everett::catalog_bindings< T >::catalog_bindings ( catalog_bindings< T > const &  )
delete

Member Function Documentation

◆ find()

template<class T >
pointer everett::catalog_bindings< T >::find ( object_id const &  catalog,
std::filesystem::path const &  root 
) const
inline

◆ get_or_create()

template<class T >
template<class F >
pointer everett::catalog_bindings< T >::get_or_create ( object_id const &  catalog,
std::filesystem::path const &  root,
F &&  produce 
) const
inline

◆ locate()

template<class T >
std::shared_ptr< slot > everett::catalog_bindings< T >::locate ( object_id const &  catalog,
std::filesystem::path const &  root,
bool  create 
) const
inlineprivate

◆ operator=()

template<class T >
catalog_bindings & everett::catalog_bindings< T >::operator= ( catalog_bindings< T > const &  )
delete

◆ prepare()

template<class T >
producer everett::catalog_bindings< T >::prepare ( object_id const &  catalog,
std::filesystem::path const &  root 
) const
inline

Member Data Documentation

◆ entries_

template<class T >
std::vector<std::shared_ptr<slot> > everett::catalog_bindings< T >::entries_
mutableprivate

◆ mutex_

template<class T >
std::mutex everett::catalog_bindings< T >::mutex_
mutableprivate

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