Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device::ParametricData< C > Class Template Reference

Manages parameter binding for class C. More...

#include <N_DEV_Pars.h>

Inheritance diagram for Xyce::Device::ParametricData< C >:

Public Member Functions

 ParametricData ()
 Constructs the parameter data map. More...
 
virtual ~ParametricData ()
 Destroys the parameter data map. More...
 
template<class T , class U >
DescriptoraddPar (const char *parName, T default_value, T U::*varPtr)
 Adds the parameter description to the parameter map. More...
 
template<class U >
DescriptoraddPar (const char *parName, const char *default_value, std::string U::*varPtr)
 Adds the parameter description to the parameter map. More...
 
template<class T , class U >
void addPar (const char *parName, T def, bool orig, ParameterType::ExprAccess depend, T U::*varPtr, bool U::*givenPtr, ParameterUnit unit, ParameterCategory category, const char *description)
 Adds the parameter description to the parameter map. More...
 
template<class U >
void addPar (const char *parName, const char *def, bool orig, ParameterType::ExprAccess depend, std::string U::*varPtr, bool U::*givenPtr, ParameterUnit unit, ParameterCategory category, const char *description)
 Adds the parameter description to the parameter map. More...
 
template<class T , class U >
void addPar (const char *parName, T def, bool orig, ParameterType::ExprAccess depend, T U::*varPtr, void *noGivenPtr, ParameterUnit unit, ParameterCategory category, const char *description)
 Adds the parameter description to the parameter map. More...
 
template<class U , class V >
void addComposite (const char *comp_name, const ParametricData< U > &composite_pars, std::map< std::string, U * > V::*composite_map)
 Adds a composite parameter to the parameter map. More...
 
template<class U , class V >
void addComposite (const char *comp_name, const ParametricData< U > &composite_pars, std::vector< U * > V::*composite_vector)
 Adds a composite vector parameter to the parameter map. More...
 
void makeVector (const std::string &cname, int len)
 Allows the parameter to be specified as a vector. More...
 
template<>
 ParametricData ()
 
template<>
 ParametricData ()
 
template<>
 ParametricData ()
 
template<>
 ParametricData ()
 
template<>
 ParametricData ()
 
template<>
 ParametricData ()
 
template<>
 ParametricData ()
 

Private Member Functions

 ParametricData (const ParametricData &parametric_data)
 No copying. More...
 
ParametricDataoperator= (const ParametricData &parametric_data)
 No assignment. More...
 

Detailed Description

template<class C>
class Xyce::Device::ParametricData< C >

Manages parameter binding for class C.

Definition at line 220 of file N_DEV_Pars.h.

Constructor & Destructor Documentation

template<class C>
Xyce::Device::ParametricData< C >::ParametricData ( )
inline

Constructs the parameter data map.

Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:39:06 2014

Definition at line 1398 of file N_DEV_Pars.h.

template<class C>
virtual Xyce::Device::ParametricData< C >::~ParametricData ( )
inlinevirtual

Destroys the parameter data map.

Returns
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:39:34 2014

Definition at line 1412 of file N_DEV_Pars.h.

template<class C>
Xyce::Device::ParametricData< C >::ParametricData ( const ParametricData< C > &  parametric_data)
private

No copying.

Definition at line 83 of file N_DEV_RegionData.C.

Definition at line 59 of file N_DEV_SpecieSource.C.

Definition at line 72 of file N_DEV_Xygra.C.

Definition at line 59 of file N_DEV_DopeInfo.C.

Definition at line 41 of file N_DEV_MaterialLayer.C.

Member Function Documentation

template<class C>
template<class U , class V >
void Xyce::Device::ParametricData< C >::addComposite ( const char *  comp_name,
const ParametricData< U > &  composite_pars,
std::map< std::string, U * > V::*  composite_map 
)
inline

Adds a composite parameter to the parameter map.

THIS IS SUPER DANGEROUS U * MAY NOT ACTUALLY POINT TO CompositeParam *. IT COULD BE SLICED

Parameters
comp_name
composite_pars
composite_map
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:47:59 2014

Definition at line 1597 of file N_DEV_Pars.h.

template<class C>
template<class U , class V >
void Xyce::Device::ParametricData< C >::addComposite ( const char *  comp_name,
const ParametricData< U > &  composite_pars,
std::vector< U * > V::*  composite_vector 
)
inline

Adds a composite vector parameter to the parameter map.

THIS IS SUPER DANGEROUS U * MAY NOT ACTUALLY POINT TO CompositeParam *. IT COULD BE SLICED

Parameters
comp_name
composite_pars
composite_vector
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:47:59 2014

Definition at line 1621 of file N_DEV_Pars.h.

template<class C>
template<class T , class U >
Descriptor& Xyce::Device::ParametricData< C >::addPar ( const char *  parName,
default_value,
T U::*  varPtr 
)
inline

Adds the parameter description to the parameter map.

Template Parameters
Tdata type of the parameter
Uclass containing the member data storing the parameter's value
Parameters
parNameconst pointer to the parameter name
default_valuedefault value
varPtrmember pointer to the parameter's value
Returns
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:33:48 2014

Definition at line 1435 of file N_DEV_Pars.h.

template<class C>
template<class U >
Descriptor& Xyce::Device::ParametricData< C >::addPar ( const char *  parName,
const char *  default_value,
std::string U::*  varPtr 
)
inline

Adds the parameter description to the parameter map.

This is specialization to allow const char * (quoted strings) to create a std::string type parameter.

Template Parameters
Uclass containing the member data storing the parameter's value
Parameters
parNameconst pointer to the parameter name
default_valuedefault value
varPtrmember pointer to the parameter's value
Returns
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:33:48 2014

Definition at line 1460 of file N_DEV_Pars.h.

template<class C>
template<class T , class U >
void Xyce::Device::ParametricData< C >::addPar ( const char *  parName,
def,
bool  orig,
ParameterType::ExprAccess  depend,
T U::*  varPtr,
bool U::*  givenPtr,
ParameterUnit  unit,
ParameterCategory  category,
const char *  description 
)
inline

Adds the parameter description to the parameter map.

TODO: [DGB] This function should be eliminated and the addPar(const char *parName, T default_value, T U::*varPtr) used exclusively

Template Parameters
Tdata type of the parameter
Uclass containing the member data storing the parameter's value
Parameters
parNameconst pointer to the parameter name
defdefault value
origtrue if the original value is no be stored
dependthe dependency type of this parameter
varPtrmember pointer to the parameter's value
givenPtrmember pointer to the parameter's given boolean
unitparameter's measurement units
categoryparameter documentation category
descriptiondocumentation description
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:43:30 2014

Definition at line 1491 of file N_DEV_Pars.h.

template<class C>
template<class U >
void Xyce::Device::ParametricData< C >::addPar ( const char *  parName,
const char *  def,
bool  orig,
ParameterType::ExprAccess  depend,
std::string U::*  varPtr,
bool U::*  givenPtr,
ParameterUnit  unit,
ParameterCategory  category,
const char *  description 
)
inline

Adds the parameter description to the parameter map.

This is specialization to allow const char * (quoted strings) to create a std::string type parameter.

TODO: [DGB] This function should be eliminated and the addPar(const char *parName, T default_value, T U::*varPtr) used exclusively

Template Parameters
Tdata type of the parameter
Uclass containing the member data storing the parameter's value
Parameters
parNameconst pointer to the parameter name
defdefault value
origtrue if the original value is no be stored
dependthe dependency type of this parameter
varPtrmember pointer to the parameter's value
givenPtrmember pointer to the parameter's given boolean
unitparameter's measurement units
categoryparameter documentation category
descriptiondocumentation description
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:43:30 2014

Definition at line 1530 of file N_DEV_Pars.h.

template<class C>
template<class T , class U >
void Xyce::Device::ParametricData< C >::addPar ( const char *  parName,
def,
bool  orig,
ParameterType::ExprAccess  depend,
T U::*  varPtr,
void *  noGivenPtr,
ParameterUnit  unit,
ParameterCategory  category,
const char *  description 
)
inline

Adds the parameter description to the parameter map.

This is specialization to allow 0 to be passed as given member pointer

TODO: [DGB] This function should be eliminated and the addPar(const char *parName, T default_value, T U::*varPtr) used exclusively

Template Parameters
Tdata type of the parameter
Uclass containing the member data storing the parameter's value
Parameters
parNameconst pointer to the parameter name
defdefault value
origtrue if the original value is no be stored
dependthe dependency type of this parameter
varPtrmember pointer to the parameter's value
noGivenPtralways 0
unitparameter's measurement units
categoryparameter documentation category
descriptiondocumentation description
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:43:30 2014

Definition at line 1569 of file N_DEV_Pars.h.

template<class C>
void Xyce::Device::ParametricData< C >::makeVector ( const std::string &  cname,
int  len 
)
inline

Allows the parameter to be specified as a vector.

Parameters
cname
len
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:50:29 2014

Definition at line 1641 of file N_DEV_Pars.h.

template<class C>
ParametricData& Xyce::Device::ParametricData< C >::operator= ( const ParametricData< C > &  parametric_data)
private

No assignment.


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