CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
EnumeratorHandler.cc
Go to the documentation of this file.
6 
7 namespace CASM {
8 
10  m_set(&set),
11  m_enumerator(make_enumerator_map()) {
12 
18  );
19 
21  *m_set,
22  std::inserter(m_enumerator, m_enumerator.end()),
23  std::inserter(m_lib, m_lib.end()));
24  }
25 
26  namespace {
27  typedef std::insert_iterator<std::map<std::string, std::shared_ptr<RuntimeLibrary> > > runtimelib_it_type;
28  typedef std::insert_iterator<EnumeratorMap> enum_it_type;
29  }
30 
31  template std::pair<enum_it_type, runtimelib_it_type> load_enumerator_plugins(
32  const ProjectSettings &set,
33  enum_it_type enum_it,
34  runtimelib_it_type lib_it);
35 
36 }
EnumeratorHandler(const ProjectSettings &set)
std::map< std::string, std::shared_ptr< RuntimeLibrary > > m_lib
Main CASM namespace.
Definition: complete.cpp:8
ProjectSettings & set
Definition: settings.cc:103
std::pair< iterator, bool > insert(const value_type &value)
Insert single value.
Definition: unique_map.hh:169
Template class to be specialized for each enumerator that may be accessed via the API...
Definition: Enumerator.hh:521
Read/modify settings of an already existing CASM project.
const ProjectSettings * m_set
std::pair< EnumeratorMapInserter, RuntimeLibInserter > load_enumerator_plugins(const ProjectSettings &set, EnumeratorMapInserter enum_it, RuntimeLibInserter lib_it)
Load enumerator plugins from a CASM project.
EnumeratorMap make_enumerator_map()
Use to construct an EnumeratorMap.
Definition: Enumerator.hh:447