10 #ifndef SACADO_TEMPLATEMANAGER_HPP
11 #define SACADO_TEMPLATEMANAGER_HPP
48 template <
typename TypeSeq,
typename BaseT,
typename ObjectT>
53 bool operator() (
const std::type_info*
a,
const std::type_info* b) {
58 template <
typename BuilderOpT>
60 std::vector< Teuchos::RCP<BaseT> >*
objects;
63 const BuilderOpT& builder_) :
67 (*objects)[idx] =
builder.template build<T>();
83 template<
class ScalarT>
98 template <
typename BuilderOpT>
105 template<
typename ScalarT>
109 template<
typename ScalarT>
113 template<
typename ScalarT>
117 template<
typename ScalarT>
ConstTemplateIterator< BaseT > const_iterator
Typedef for const_iterator.
std::vector< Teuchos::RCP< BaseT > > objects
Stores array of rcp's to objects of each type.
std::vector< Teuchos::RCP< BaseT > > * objects
~TemplateManager()
Destructor.
Teuchos::RCP< typename Sacado::mpl::apply< ObjectT, ScalarT >::type > getAsObject()
Get RCP to object corrensponding to ScalarT as ObjectT<ScalarT>
TemplateManager()
Default constructor.
F::template apply< A1, A2, A3, A4, A5 >::type type
void buildObjects()
Build objects for each ScalarT using default builder.
Container class to manager template instantiations of a template class.
TemplateIterator< BaseT > iterator
Typedef for iterator.
The default builder class for building objects for each ScalarT.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Teuchos::RCP< BaseT > getAsBase()
Get RCP to object corrensponding to ScalarT as BaseT.
Sacado::TemplateManager< TypeSeq, BaseT, ObjectT >::iterator end()
Return an iterator that points one past the last type object.
const BuilderOpT & builder
BuildObject(std::vector< Teuchos::RCP< BaseT > > &objects_, const BuilderOpT &builder_)
bool operator()(const std::type_info *a, const std::type_info *b)
Teuchos::RCP< BaseT > build() const
Returns a new rcp for an object of type ObjectT<ScalarT>
Implementation of < for type_info objects.
Sacado::TemplateManager< TypeSeq, BaseT, ObjectT >::iterator begin()
Return an iterator that points to the first type object.