SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Public Types | Public Member Functions | List of all members
smtk::view::Information Class Reference

A class for information passed to views during initialization. More...

#include <Information.h>

Inheritance diagram for smtk::view::Information:
[legend]
Collaboration diagram for smtk::view::Information:
[legend]

Public Types

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

Public Member Functions

 smtkTypeMacroBase (smtk::view::Information)
 
 smtkCreateMacro (Information)
 
virtual const Configurationconfiguration () const
 
- 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
 

Detailed Description

A class for information passed to views during initialization.

View information must include configuration information, but usually also includes information specific to the GUI system of the view being constructed. Hence, this class is based off of TypeContainer so it can hold arbitrary information.


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