10 #ifndef TEUCHOS_ABSTRACT_FACTORY_STD_HPP
11 #define TEUCHOS_ABSTRACT_FACTORY_STD_HPP
13 #include "Teuchos_AbstractFactory.hpp"
20 template<
class T_impl>
30 template<
class T_impl>
106 template<
class T_itfc,
class T_impl
107 ,
class T_PostMod = PostModNothing<T_impl>
108 ,
class T_Allocator = AllocatorNew<T_impl>
116 AbstractFactoryStd(
const T_PostMod& post_mod = T_PostMod(),
const T_Allocator& alloc = T_Allocator() );
135 template<
class T_itfc,
class T_impl>
149 template<
class T_itfc,
class T_impl,
class T_Allocator>
151 abstractFactoryStd(
const T_Allocator& alloc = T_Allocator() )
164 template<
class T_itfc,
class T_impl,
class T_PostMod,
class T_Allocator>
167 const T_PostMod& post_mod,
const T_Allocator& alloc
173 template<
class T_itfc,
class T_impl,
class T_PostMod,
class T_Allocator>
175 typename AbstractFactoryStd<T_itfc,T_impl,T_PostMod,T_Allocator>::obj_ptr_t
178 typename T_Allocator::ptr_t
179 ptr = alloc_.allocate();
180 post_mod_.initialize(ptr.get());
186 #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().