42 #ifndef TEUCHOS_ABSTRACT_FACTORY_STD_HPP
43 #define TEUCHOS_ABSTRACT_FACTORY_STD_HPP
45 #include "Teuchos_AbstractFactory.hpp"
52 template<
class T_impl>
62 template<
class T_impl>
138 template<
class T_itfc,
class T_impl
139 ,
class T_PostMod = PostModNothing<T_impl>
140 ,
class T_Allocator = AllocatorNew<T_impl>
148 AbstractFactoryStd(
const T_PostMod& post_mod = T_PostMod(),
const T_Allocator& alloc = T_Allocator() );
167 template<
class T_itfc,
class T_impl>
181 template<
class T_itfc,
class T_impl,
class T_Allocator>
183 abstractFactoryStd(
const T_Allocator& alloc = T_Allocator() )
196 template<
class T_itfc,
class T_impl,
class T_PostMod,
class T_Allocator>
199 const T_PostMod& post_mod,
const T_Allocator& alloc
205 template<
class T_itfc,
class T_impl,
class T_PostMod,
class T_Allocator>
207 typename AbstractFactoryStd<T_itfc,T_impl,T_PostMod,T_Allocator>::obj_ptr_t
210 typename T_Allocator::ptr_t
211 ptr = alloc_.allocate();
212 post_mod_.initialize(ptr.get());
218 #endif // TEUCHOS_ABSTRACT_FACTORY_STD_HPP
const ptr_t allocate() const
AbstractFactoryStd(const T_PostMod &post_mod=T_PostMod(), const T_Allocator &alloc=T_Allocator())
Simple, templated concrete subclass of universal "Abstract Factory" interface for the creation of o...
Teuchos::RCP< T_impl > ptr_t
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.
RCP< const AbstractFactory< T_itfc > > abstractFactoryStd()
Nonmember constructor for an standar abstract factory object.
void initialize(T_impl *) const
Smart reference counting pointer class for automatic garbage collection.
Default post-modification policy class for AbstractFactorStd which does nothing!
Simple, universal "Abstract Factory" interface for the dynamic creation of objects.
Default allocation policy class for AbstractFactoryStd which returns new T_impl().