47 #ifndef Xyce_N_DEV_fwd_h
48 #define Xyce_N_DEV_fwd_h
50 #if defined(HAVE_UNORDERED_MAP)
51 #include <unordered_map>
52 #include <unordered_set>
53 using std::unordered_map;
54 using std::unordered_set;
55 #elif defined(HAVE_TR1_UNORDERED_MAP)
56 #include <tr1/unordered_map>
57 #include <tr1/unordered_set>
58 using std::tr1::unordered_map;
59 using std::tr1::unordered_set;
61 #error neither unordered_map/set or tr1/unordered_map/set found
68 #include <N_UTL_NameLevelKey.h>
69 #include <N_UTL_NoCase.h>
70 #include <N_UTL_TypeIndex.h>
71 #include <N_UTL_IndexPair.h>
94 class ExternCodeInterface;
147 namespace ExternDevice {
157 namespace ArtificialParameters {
167 typedef unordered_map<std::string, Descriptor *, HashNoCase, EqualNoCase>
ParameterMap;
168 typedef unordered_map<std::string, CompositeParam *, HashNoCase, EqualNoCase>
CompositeMap;
170 typedef unordered_map<std::string, ArtificialParameters::ArtificialParameter *, HashNoCase, EqualNoCase>
ArtificialParameterMap;
182 template <
class M,
class I,
class G = ModelGroupLeadTraits>
203 #endif // Xyce_N_DEV_fwd_h
std::vector< CompositeParam * > CompositeVector
Config template derives from the Configuration class and provides the instance and model parameter de...
Pure virtual class to augment a linear system.
Devices and models are each named.
unordered_map< std::string, Descriptor *, HashNoCase, EqualNoCase > ParameterMap
type_index InstanceTypeId
Base class for all parameters.
std::vector< DeviceEntity * > EntityVector
std::vector< int > IdVector
DeviceMaster instantiates a device as described by the device traits T.
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
unordered_map< std::string, CompositeParam *, HashNoCase, EqualNoCase > CompositeMap
unordered_set< std::string, HashNoCase, EqualNoCase > PassthroughParameterSet
std::vector< std::vector< int > > JacobianStamp
std::vector< DeviceModel * > ModelVector
std::map< EntityTypeId, Device * > EntityTypeIdDeviceMap
unordered_map< std::string, InstanceBlock, HashNoCase, EqualNoCase > DeviceNameInstanceBlockMap
unordered_map< std::string, double, HashNoCase, EqualNoCase > GlobalParameterMap
std::map< std::string, int, LessNoCase > DeviceCountMap
DeviceMgr DeviceInterface
std::vector< Device * > DeviceVector
unordered_map< std::string, ArtificialParameters::ArtificialParameter *, HashNoCase, EqualNoCase > ArtificialParameterMap
ModelBlock represents a .MODEL line from the netlist.
The DeviceTraits template describes the configuration of a device.
InstanceBlock represent a device instance line from the netlist.
std::vector< DeviceInstance * > InstanceVector