Sacado Development
Loading...
Searching...
No Matches
Sacado::ParameterFamilyBase< EntryBase, EntryType > Class Template Reference

#include <Sacado_ParameterFamilyBase.hpp>

Inheritance diagram for Sacado::ParameterFamilyBase< EntryBase, EntryType >:

Public Member Functions

 ParameterFamilyBase (const std::string &name, bool supports_ad, bool supports_analytic)
 Constructor.
virtual ~ParameterFamilyBase ()
 Destructor.
std::string getName () const
 Get the name of the family.
bool supportsAD () const
 Indicates whether parameter supports AD derivatives.
bool supportsAnalytic () const
 Indicates whether parameter supports analytic derivatives.
template<typename EvalType>
bool hasType () const
 Determine if family has an entry for the given type EvalType.
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.
template<typename EvalType>
Teuchos::RCP< typename Sacado::mpl::apply< EntryType, EvalType >::typegetEntry ()
 Gets the entry corresponding to type EvalType.
template<typename EvalType>
Teuchos::RCP< const typename Sacado::mpl::apply< EntryType, EvalType >::typegetEntry () const
 Gets the entry corresponding to type EvalType.
void print (std::ostream &os, bool print_values=false) const
 Print the family.

Protected Types

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

Protected Member Functions

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

Protected Attributes

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

Detailed Description

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

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

Constructor & Destructor Documentation

◆ ParameterFamilyBase()

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

Constructor.

References family, name, supports_ad, and supports_analytic.

Member Function Documentation

◆ addEntry()

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.

◆ getEntry() [1/2]

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.

References family, getTypeName(), and name.

◆ getEntry() [2/2]

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.

References family, getTypeName(), and name.

◆ getName()

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

Get the name of the family.

References name.

◆ getTypeName()

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

Returns a string representation of type EntryType.

References name.

Referenced by getEntry(), and getEntry().

◆ print()

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.

References family, name, supports_ad, and supports_analytic.

Member Data Documentation

◆ family

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

Family of parameter entries.

Referenced by getEntry(), getEntry(), ParameterFamilyBase(), and print().

◆ name

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

◆ supports_ad

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

Family supports AD.

Referenced by ParameterFamilyBase(), and print().

◆ supports_analytic

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

Family supports analytic derivatives.

Referenced by ParameterFamilyBase(), and print().


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