// file : cult/rtti/type-info.cxx // author : Boris Kolpackov // copyright : Copyright (c) 2005-2010 Boris Kolpackov // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include #include #include namespace Cult { namespace RTTI { Access const Access::private_ (Access::private__); Access const Access::protected_ (Access::protected__); Access const Access::public_ (Access::public__); typedef Containers::Map TypeInfoMap; static MM::StaticPtr map_; TypeInfo const& lookup (TypeId const& type_id) { TypeInfoMap::ConstIterator i (map_->find (type_id)); if (i == map_->end ()) throw NoInfo (); return i->second; } Void insert (TypeInfo const& type_info) { map_->insert (TypeInfoMap::Pair (type_info.type_id (), type_info)); } } }