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
148 AbstractFactoryStd(
const T_PostMod& post_mod = T_PostMod(),
const T_Allocator& alloc = T_Allocator() );
153 obj_ptr_t create()
const;
167 template<
class T_itfc,
class T_impl>
181 template<
class T_itfc,
class T_impl,
class 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 RCP< const AbstractFactory< T_itfc > > abstractFactoryStd(const T_Allocator &alloc=T_Allocator())
Nonmember constructor for an standar abstract factory object.
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.
void initialize(T_impl *p) const
RCP< const AbstractFactory< T_itfc > > abstractFactoryStd()
Nonmember constructor for an standar abstract factory object.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos, as well as a number of utility routines.
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().