virtual ~IHolder()=default
virtual const std::type_info & type() const =0
HolderT(std::unique_ptr< T > &&value)
const std::type_info & type() const
std::unordered_map< std::string, std::unique_ptr< IHolder > > m_store
const T * get(const std::string &name) const
EmulContext(const EmulContext &)=delete
EmulContext & operator=(const EmulContext &)=delete
std::unique_ptr< T > m_value
void store(const std::string &name, std::unique_ptr< T > &&object)