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