1 #ifndef CASM_EnumeratorHandler
2 #define CASM_EnumeratorHandler
17 class ProjectSettings;
33 std::map<std::string, std::shared_ptr<RuntimeLibrary> >
m_lib;
37 template <
typename EnumInterfaceVectorInserter,
typename RuntimeLibInserter>
38 std::pair<EnumInterfaceVectorInserter, RuntimeLibInserter>
40 EnumInterfaceVectorInserter enum_it,
41 RuntimeLibInserter lib_it);
ProjectSettings const * m_set
std::map< std::string, std::shared_ptr< RuntimeLibrary > > m_lib
EnumInterfaceVector & get()
EnumInterfaceVector m_enumerator
EnumInterfaceVector const & get() const
EnumeratorHandler(ProjectSettings const &set)
#define CLONEABLE_NEEDS_DESTRUCTOR_DEF(T)
std::pair< EnumInterfaceVectorInserter, RuntimeLibInserter > load_enumerator_plugins(ProjectSettings const &set, EnumInterfaceVectorInserter enum_it, RuntimeLibInserter lib_it)
Load enumerator plugins from a CASM project.
std::vector< notstd::cloneable_ptr< EnumInterfaceBase > > EnumInterfaceVector