35 template<
typename BaseClass,
typename IdentifierType>
37 <BaseClass, IdentifierType>::class_creator_base::~class_creator_base()
49 template<
typename BaseClass,
typename IdentifierType>
50 template<
typename Derived>
52 <BaseClass, IdentifierType>::class_creator<Derived>::create()
const
64 template<
typename BaseClass,
typename IdentifierType>
67 typename class_map::const_iterator it;
69 for (it=m_classes.begin(); it!=m_classes.end(); ++it)
84 template<
typename BaseClass,
typename IdentifierType>
88 (
const identifier_type&
id )
90 typename class_map::iterator it = m_classes.find(
id);
92 if ( it == m_classes.end() )
94 m_classes[id] =
new class_creator<T>;
107 template<
typename BaseClass,
typename IdentifierType>
108 typename claw::pattern::factory<BaseClass, IdentifierType>::base_class*
110 (
const identifier_type&
id )
const
112 typename class_map::const_iterator it = m_classes.find(
id);
114 if ( it==m_classes.end() )
117 return it->second->create();
125 template<
typename BaseClass,
typename IdentifierType>
127 (
const identifier_type&
id )
const
129 return m_classes.find(
id) != m_classes.end();