Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Sacado::ParameterFamilyBase< EntryBase, EntryType > Class Template Reference

#include <Sacado_ParameterFamilyBase.hpp>

Inheritance diagram for Sacado::ParameterFamilyBase< EntryBase, EntryType >:
Inheritance graph
[legend]

Public Member Functions

 ParameterFamilyBase (const std::string &name, bool supports_ad, bool supports_analytic)
 Constructor. More...
 
virtual ~ParameterFamilyBase ()
 Destructor. More...
 
std::string getName () const
 Get the name of the family. More...
 
bool supportsAD () const
 Indicates whether parameter supports AD derivatives. More...
 
bool supportsAnalytic () const
 Indicates whether parameter supports analytic derivatives. More...
 
template<typename EvalType >
bool hasType () const
 Determine if family has an entry for the given type EvalType. More...
 
template<typename EvalType >
bool addEntry (const Teuchos::RCP< typename Sacado::mpl::apply< EntryType, EvalType >::type > &entry, const bool allow_overwrite=false)
 Add a new parameter using custom entry. More...
 
template<typename EvalType >
Teuchos::RCP< typename
Sacado::mpl::apply< EntryType,
EvalType >::type > 
getEntry ()
 Gets the entry corresponding to type EvalType. More...
 
template<typename EvalType >
Teuchos::RCP< const typename
Sacado::mpl::apply< EntryType,
EvalType >::type > 
getEntry () const
 Gets the entry corresponding to type EvalType. More...
 
void print (std::ostream &os, bool print_values=false) const
 Print the family. More...
 

Protected Types

typedef std::map< std::string,
Teuchos::RCP< EntryBase > > 
EvalMap
 Map of entries for a parameter name. More...
 
typedef EvalMap::const_iterator const_iterator
 Const iterator for EvalMap. More...
 
typedef EvalMap::iterator iterator
 Iterator for EvalMap. More...
 

Protected Member Functions

template<class EvalType >
std::string getTypeName () const
 Returns a string representation of type EntryType. More...
 

Protected Attributes

EvalMap family
 Family of parameter entries. More...
 
const std::string name
 Family name. More...
 
bool supports_ad
 Family supports AD. More...
 
bool supports_analytic
 Family supports analytic derivatives. More...
 

Private Member Functions

 ParameterFamilyBase (const ParameterFamilyBase &)
 Private to prohibit copying. More...
 
ParameterFamilyBaseoperator= (const ParameterFamilyBase &)
 Private to prohibit copying. More...
 

Detailed Description

template<typename EntryBase, typename EntryType>
class Sacado::ParameterFamilyBase< EntryBase, EntryType >

A class to store multiple template instantiations of a single templated parameter.

Definition at line 47 of file Sacado_ParameterFamilyBase.hpp.

Member Typedef Documentation

template<typename EntryBase, typename EntryType>
typedef std::map<std::string, Teuchos::RCP<EntryBase> > Sacado::ParameterFamilyBase< EntryBase, EntryType >::EvalMap
protected

Map of entries for a parameter name.

Definition at line 103 of file Sacado_ParameterFamilyBase.hpp.

template<typename EntryBase, typename EntryType>
typedef EvalMap::const_iterator Sacado::ParameterFamilyBase< EntryBase, EntryType >::const_iterator
protected

Const iterator for EvalMap.

Definition at line 106 of file Sacado_ParameterFamilyBase.hpp.

template<typename EntryBase, typename EntryType>
typedef EvalMap::iterator Sacado::ParameterFamilyBase< EntryBase, EntryType >::iterator
protected

Iterator for EvalMap.

Definition at line 109 of file Sacado_ParameterFamilyBase.hpp.

Constructor & Destructor Documentation

template<typename EntryBase , typename EntryType >
Sacado::ParameterFamilyBase< EntryBase, EntryType >::ParameterFamilyBase ( const std::string &  name,
bool  supports_ad,
bool  supports_analytic 
)

Constructor.

Definition at line 34 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
Sacado::ParameterFamilyBase< EntryBase, EntryType >::~ParameterFamilyBase ( )
virtual

Destructor.

Definition at line 46 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase, typename EntryType>
Sacado::ParameterFamilyBase< EntryBase, EntryType >::ParameterFamilyBase ( const ParameterFamilyBase< EntryBase, EntryType > &  )
private

Private to prohibit copying.

Member Function Documentation

template<typename EntryBase , typename EntryType >
std::string Sacado::ParameterFamilyBase< EntryBase, EntryType >::getName ( ) const

Get the name of the family.

Definition at line 53 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
bool Sacado::ParameterFamilyBase< EntryBase, EntryType >::supportsAD ( ) const

Indicates whether parameter supports AD derivatives.

Definition at line 61 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
bool Sacado::ParameterFamilyBase< EntryBase, EntryType >::supportsAnalytic ( ) const

Indicates whether parameter supports analytic derivatives.

Definition at line 69 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
template<class EvalType >
bool Sacado::ParameterFamilyBase< EntryBase, EntryType >::hasType ( ) const

Determine if family has an entry for the given type EvalType.

Definition at line 78 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType>
template<class EvalType >
bool Sacado::ParameterFamilyBase< EntryBase, EntryType >::addEntry ( const Teuchos::RCP< typename Sacado::mpl::apply< EntryType, EvalType >::type > &  entry,
const bool  allow_overwrite = false 
)

Add a new parameter using custom entry.

Returns true if successful in adding entry to library, false otherwise. If allow_overwrite is true, any existing entry will be overwritten by the supplied entry.

Definition at line 96 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
template<class EvalType >
Teuchos::RCP< typename Sacado::mpl::apply< EntryType, EvalType >::type > Sacado::ParameterFamilyBase< EntryBase, EntryType >::getEntry ( )

Gets the entry corresponding to type EvalType.

Definition at line 124 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
template<class EvalType >
Teuchos::RCP< const typename Sacado::mpl::apply< EntryType, EvalType >::type > Sacado::ParameterFamilyBase< EntryBase, EntryType >::getEntry ( ) const

Gets the entry corresponding to type EvalType.

Definition at line 154 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
void Sacado::ParameterFamilyBase< EntryBase, EntryType >::print ( std::ostream &  os,
bool  print_values = false 
) const

Print the family.

Set print_values = true to print each parameter value for each evaluation type.

Definition at line 183 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase , typename EntryType >
template<class EvalType >
std::string Sacado::ParameterFamilyBase< EntryBase, EntryType >::getTypeName ( ) const
protected

Returns a string representation of type EntryType.

Definition at line 201 of file Sacado_ParameterFamilyBaseImp.hpp.

template<typename EntryBase, typename EntryType>
ParameterFamilyBase& Sacado::ParameterFamilyBase< EntryBase, EntryType >::operator= ( const ParameterFamilyBase< EntryBase, EntryType > &  )
private

Private to prohibit copying.

Member Data Documentation

template<typename EntryBase, typename EntryType>
EvalMap Sacado::ParameterFamilyBase< EntryBase, EntryType >::family
protected

Family of parameter entries.

Definition at line 125 of file Sacado_ParameterFamilyBase.hpp.

template<typename EntryBase, typename EntryType>
const std::string Sacado::ParameterFamilyBase< EntryBase, EntryType >::name
protected

Family name.

Definition at line 128 of file Sacado_ParameterFamilyBase.hpp.

template<typename EntryBase, typename EntryType>
bool Sacado::ParameterFamilyBase< EntryBase, EntryType >::supports_ad
protected

Family supports AD.

Definition at line 131 of file Sacado_ParameterFamilyBase.hpp.

template<typename EntryBase, typename EntryType>
bool Sacado::ParameterFamilyBase< EntryBase, EntryType >::supports_analytic
protected

Family supports analytic derivatives.

Definition at line 134 of file Sacado_ParameterFamilyBase.hpp.


The documentation for this class was generated from the following files: