LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
fhicl::detail::TableMemberRegistry Class Reference

#include "TableMemberRegistry.h"

Public Member Functions

 TableMemberRegistry (TableMemberRegistry const &)=delete
 
 TableMemberRegistry (TableMemberRegistry &&)=delete
 
TableMemberRegistryoperator= (TableMemberRegistry const &)=delete
 
TableMemberRegistryoperator= (TableMemberRegistry &&)=delete
 

Private Types

using base_ptr = cet::exempt_ptr< ParameterBase >
 
using table_members_t = std::vector< base_ptr >
 

Private Member Functions

 TableMemberRegistry ()=default
 
std::vector< base_ptrrelease_members ()
 
void emplace_table_member (ParameterBase *pb)
 
void new_table ()
 

Static Private Member Functions

static TableMemberRegistryinstance ()
 

Private Attributes

std::stack< table_members_ttables_
 

Friends

template<typename T , typename KeysToIgnore >
class fhicl::Table
 
template<typename T >
class fhicl::OptionalTable
 
class RegisterIfTableMember
 

Detailed Description

Definition at line 50 of file TableMemberRegistry.h.

Member Typedef Documentation

Definition at line 61 of file TableMemberRegistry.h.

Definition at line 62 of file TableMemberRegistry.h.

Constructor & Destructor Documentation

fhicl::detail::TableMemberRegistry::TableMemberRegistry ( TableMemberRegistry const &  )
delete
fhicl::detail::TableMemberRegistry::TableMemberRegistry ( TableMemberRegistry &&  )
delete
fhicl::detail::TableMemberRegistry::TableMemberRegistry ( )
privatedefault

Member Function Documentation

void fhicl::detail::TableMemberRegistry::emplace_table_member ( ParameterBase pb)
inlineprivate

Definition at line 92 of file TableMemberRegistry.h.

Referenced by fhicl::detail::RegisterIfTableMember::RegisterIfTableMember().

93  {
94  tables_.top().emplace_back(pb);
95  }
std::stack< table_members_t > tables_
static TableMemberRegistry& fhicl::detail::TableMemberRegistry::instance ( )
inlinestaticprivate

Definition at line 66 of file TableMemberRegistry.h.

Referenced by fhicl::detail::RegisterIfTableMember::RegisterIfTableMember().

67  {
68  static TableMemberRegistry registry;
69  return registry;
70  }
void fhicl::detail::TableMemberRegistry::new_table ( )
inlineprivate

Definition at line 98 of file TableMemberRegistry.h.

Referenced by fhicl::detail::RegisterIfTableMember::RegisterIfTableMember().

99  {
100  tables_.emplace();
101  }
std::stack< table_members_t > tables_
TableMemberRegistry& fhicl::detail::TableMemberRegistry::operator= ( TableMemberRegistry const &  )
delete
TableMemberRegistry& fhicl::detail::TableMemberRegistry::operator= ( TableMemberRegistry &&  )
delete
std::vector<base_ptr> fhicl::detail::TableMemberRegistry::release_members ( )
inlineprivate

Definition at line 80 of file TableMemberRegistry.h.

81  {
82  std::vector<base_ptr> result;
83  std::swap(tables_.top(), result);
84  tables_.pop();
85  return result;
86  }
std::stack< table_members_t > tables_
void swap(art::HLTGlobalStatus &lhs, art::HLTGlobalStatus &rhs)

Friends And Related Function Documentation

template<typename T >
friend class fhicl::OptionalTable
friend

Definition at line 77 of file TableMemberRegistry.h.

template<typename T , typename KeysToIgnore >
friend class fhicl::Table
friend

Definition at line 75 of file TableMemberRegistry.h.

friend class RegisterIfTableMember
friend

Definition at line 90 of file TableMemberRegistry.h.

Member Data Documentation

std::stack<table_members_t> fhicl::detail::TableMemberRegistry::tables_
private

Definition at line 63 of file TableMemberRegistry.h.


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