Xyce
6.1
|
Config template derives from the Configuration class and provides the instance and model parameter decriptions. More...
#include <N_DEV_Configuration.h>
Public Types | |
typedef T | ModelTraits |
typedef ModelGroupTraits_< T, typename T::ModelGroupTraits > ::GroupTraits_ | ModelGroupTraits |
![]() | |
typedef std::map< NameLevelKey, Configuration *, NameLevelLess > | ConfigurationMap |
Public Member Functions | |
Config< T > & | registerDevice (const char *device_name, const int level) |
Adds the device into the device registry giving it the specified device name and level. More... | |
Config< T > & | registerModelType (const char *model_name, const int level) |
Adds a model type name and level to the device model type list. More... | |
virtual InstanceTypeId | instanceType () const |
Returns the instance type identifier. More... | |
virtual ModelTypeId | modelType () const |
Returns the model type identifier. More... | |
virtual ModelTypeId | modelGroup () const |
Returns the model group identifier. More... | |
Device * | factory (const FactoryBlock &factory_block) |
Calls the device creation function. More... | |
![]() | |
virtual | ~Configuration () |
ParametricData< void > & | getInstanceParameters () const |
Returns the instance parameter descriptions. More... | |
ParametricData< void > & | getModelParameters () const |
Returns the model parameter descriptions. More... | |
const std::string & | getName () const |
Returns the device name. More... | |
const std::string & | getDeviceTypeName () const |
Returns the device type name. More... | |
const std::string & | getInstanceDefaultParameterName () const |
Returns the instance default parameter name. More... | |
int | getNumNodes () const |
Returns the number of nodes of this device. More... | |
int | getNumOptionalNodes () const |
Returns the number of optional nodes of this device. More... | |
int | getNumFillNodes () const |
Returns the number of fill nodes of this device. More... | |
bool | getModelRequired () const |
Returns true of the model must be specified when defining an instance of this device. More... | |
bool | getLinearDevice () const |
Returns true of the model is a linear device. More... | |
bool | getPDEDevice () const |
Returns true of the model is a PDE device. More... | |
const std::string & | getPrimaryParameter () const |
Returns the default primary parameter of this device or the empty string if there is no primary parameter. More... | |
const std::vector< std::string > & | getModelTypeNames () const |
Returns a vector of strings that name all the model types defined of this model. More... | |
Static Public Member Functions | |
static Config< T > & | addConfiguration () |
Adds the device to the Xyce device configuration. More... | |
![]() | |
static const ConfigurationMap & | getConfigurationMap () |
Returns the configuration map of the system. More... | |
static const Configuration * | findConfiguration (const std::string &device_name, const int level) |
Returns the configuration associated with the device name and level or 0 if not found. More... | |
static Device * | createDevice (ModelTypeId model_type_id, const FactoryBlock &factory_block) |
Creates the specified device. More... | |
static ModelTypeId | getModelType (const std::string &model_name, const int level) |
Returns the model type identifier for the specified device, if the model type and level is not found, return an invalid type. More... | |
static ModelTypeId | getModelGroup (const std::string &device_name) |
Returns the model group of the device name. More... | |
Private Member Functions | |
Config () | |
Creates the configuration object, populating the instance and model parameter definitions from the Traits. More... | |
virtual | ~Config () |
Destroys the Config. More... | |
Config (const Config< T > &) | |
No copying. More... | |
Config & | operator= (const Config< T > &) |
No assignment. More... | |
Private Attributes | |
ParametricData< typename ModelTraits::InstanceType > | instanceParameters__ |
Instance parameter description. More... | |
ParametricData< typename ModelTraits::ModelType > | modelParameters__ |
Model parameter description. More... | |
Additional Inherited Members | |
![]() | |
Configuration (ParametricData< void > &instance_parameters, ParametricData< void > &model_parameters, const char *name, const char *device_type_name, const char *instance_default_parameter_name, int num_nodes, int num_optional_nodes, int num_fill_nodes, bool model_required, bool linear_device, bool pde_device, const char *primary_parameter) | |
Populates the device configuration object. More... | |
void | addDevice (const char *model_name, const int model_level, ModelTypeId model_type_id, ModelTypeId model_group_id, int model_type_nodes, int model_group_nodes) |
Adds the device to the configuration. More... | |
void | addModel (const char *model_name, const int level, ModelTypeId model_type_id, ModelTypeId model_group_id) |
Adds a model name for the device to the configuration. More... | |
Config template derives from the Configuration class and provides the instance and model parameter decriptions.
Definition at line 759 of file N_DEV_Configuration.h.
typedef ModelGroupTraits_<T, typename T::ModelGroupTraits>::GroupTraits_ Xyce::Device::Config< T >::ModelGroupTraits |
Definition at line 763 of file N_DEV_Configuration.h.
typedef T Xyce::Device::Config< T >::ModelTraits |
Definition at line 762 of file N_DEV_Configuration.h.
|
inlineprivate |
Creates the configuration object, populating the instance and model parameter definitions from the Traits.
The registerDevice() and registerModelType() functions are used by the device registration function to name the device and device levels.
loadInstanceParameters() is called populate the instance parameter desciptions
loadModelParameters() is called to populate the model parameter desciptions
Definition at line 786 of file N_DEV_Configuration.h.
|
inlineprivatevirtual |
Destroys the Config.
Definition at line 808 of file N_DEV_Configuration.h.
|
private |
No copying.
|
inlinestatic |
Adds the device to the Xyce device configuration.
Definition at line 772 of file N_DEV_Configuration.h.
|
inlinevirtual |
Calls the device creation function.
factory_block | factory parameters |
Implements Xyce::Device::Configuration.
Definition at line 940 of file N_DEV_Configuration.h.
|
inlinevirtual |
Returns the instance type identifier.
Implements Xyce::Device::Configuration.
Definition at line 878 of file N_DEV_Configuration.h.
|
inlinevirtual |
Returns the model group identifier.
Implements Xyce::Device::Configuration.
Definition at line 917 of file N_DEV_Configuration.h.
|
inlinevirtual |
Returns the model type identifier.
Implements Xyce::Device::Configuration.
Definition at line 899 of file N_DEV_Configuration.h.
|
private |
No assignment.
|
inline |
Adds the device into the device registry giving it the specified device name and level.
Registering a device maps the model type to the device name level key.
device_name | const character pointer name of the device |
level | level of the device |
Definition at line 831 of file N_DEV_Configuration.h.
|
inline |
Adds a model type name and level to the device model type list.
model_name | const character pointer model name |
level | model level of the model |
Definition at line 855 of file N_DEV_Configuration.h.
|
private |
Instance parameter description.
Definition at line 946 of file N_DEV_Configuration.h.
|
private |
Model parameter description.
Definition at line 947 of file N_DEV_Configuration.h.