SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Types | Public Member Functions | List of all members
smtk::common::Managers Class Reference
Inheritance diagram for smtk::common::Managers:
[legend]
Collaboration diagram for smtk::common::Managers:
[legend]

Public Types

typedef TypeContainer Container
 
- Public Types inherited from smtk::common::TypeContainer
using KeyType = smtk::string::Hash
 

Public Member Functions

 smtkTypeMacroBase (smtk::common::Managers)
 
 smtkCreateMacro (Managers)
 
- Public Member Functions inherited from smtk::common::TypeContainer
 TypeContainer ()=default
 Construct an empty TypeContainer.
 
 TypeContainer (const TypeContainer &)
 Construct a TypeContainer whose contents are copied from an existing TypeContainer.
 
 TypeContainer (TypeContainer &&)=default
 Move the contents of one TypeContainer into a new TypeContainer.
 
TypeContaineroperator= (const TypeContainer &)
 Copy the contents of an existing TypeContainer into this one.
 
TypeContaineroperator= (TypeContainer &&)=default
 Move the contents of an existing TypeContainer into this one.
 
template<typename Arg , typename... Args, typename std::enable_if<!std::is_base_of< TypeContainer, Arg >::value, int >::type = 0>
 TypeContainer (const Arg &arg, const Args &... args)
 Construct a TypeContainer instance from any number of elements. More...
 
template<typename Type >
KeyType keyId () const
 Return the ID used to index a given Type.
 
template<typename Type >
bool contains () const
 Check if a Type is present in the TypeContainer.
 
template<typename Type >
bool insert (const Type &value)
 Insert a Type instance into the TypeContainer. More...
 
template<typename Type >
bool insertOrAssign (const Type &value)
 Insert a Type instance into the TypeContainer if it does not exist already or replace it if it does.
 
template<typename Type >
bool insert_or_assign (const Type &value)
 Insert a Type instance into the TypeContainer if it does not exist already or replace it if it does.
 
template<typename Type , typename... Args>
bool emplace (Args &&... args)
 Emplace a Type instance into the TypeContainer.
 
template<typename Type >
const Type & get () const
 Access a Type instance, and throw if it is not in the TypeContainer.
 
template<typename Type >
std::enable_if< std::is_default_constructible< Type >::value, Type & >::type get () noexcept
 For default-constructible types, access a Type instance, creating one if it is not in the TypeContainer.
 
template<typename Type >
std::enable_if<!std::is_default_constructible< Type >::value, Type & >::type get ()
 For non-default-constructible types, access a Type instance; throw if it is not in the TypeContainer.
 
template<typename Type >
bool erase ()
 Remove a specific type of object from the container.
 
bool empty () const noexcept
 Return true if the container holds no objects and false otherwise.
 
std::size_t size () const noexcept
 Return the nubmer of objects held by the container.
 
void clear () noexcept
 Erase all objects held by the container.
 
std::set< smtk::string::Tokenkeys () const
 Return a set of keys corresponding to the values in the container. More...
 

Additional Inherited Members

- Protected Member Functions inherited from smtk::common::TypeContainer
template<typename Arg , typename... Args>
std::enable_if<!std::is_base_of< TypeContainer, Arg >::value, bool >::type insertAll (const Arg &arg, const Args &... args)
 
bool insertAll ()
 
- Protected Attributes inherited from smtk::common::TypeContainer
std::unordered_map< KeyType, std::unique_ptr< Wrapper > > m_container
 

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