18 #ifndef TYPE_REPOSITORY_HH_ 19 #define TYPE_REPOSITORY_HH_ 49 "T must be a descendant of Input::Type::TypeBase" 65 std::shared_ptr<T>
add_type(
const T & type);
91 TypeRepositoryMapIter
begin()
const {
96 TypeRepositoryMapIter
end()
const {
116 auto type_ptr = std::make_shared<T>( type );
127 return search->second;
129 return std::shared_ptr<T>();
136 it->second->finish(finish_type);
145 ASSERT(
it->second.use_count() == 1)(
it->second.use_count()).error();
147 deleted_hashes.push_back(
it->first);
151 for (
auto deleted_hash : deleted_hashes) {
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library...
static constexpr bool value