47 #ifndef Xyce_N_DEV_DeviceBlock_h
48 #define Xyce_N_DEV_DeviceBlock_h
56 #include <N_UTL_NetlistLocation.h>
57 #include <N_UTL_Packable.h>
77 ModelBlock(
const std::string &name =
"",
const std::string &type =
"",
int level = 1);
140 void pack(
char * buf,
int bsize,
int & pos, N_PDS_Comm * comm )
const;
141 void unpack(
char * pB,
int bsize,
int & pos, N_PDS_Comm * comm );
220 void pack(
char * buf,
int bsize,
int & pos, N_PDS_Comm * comm )
const;
221 void unpack(
char * pB,
int bsize,
int & pos, N_PDS_Comm * comm );
bool operator==(const ModelBlock &right) const
const ModelName & getName() const
void setNetlistLocation(const NetlistLocation &netlist_location)
ModelBlock(const std::string &name="", const std::string &type="", int level=1)
void unpack(char *pB, int bsize, int &pos, N_PDS_Comm *comm)
friend std::ostream & operator<<(std::ostream &os, const ModelBlock &mb)
Pure virtual class to augment a linear system.
Devices and models are each named.
const std::string & getEncodedName() const
Return the instance name encoded as: [s:]*xname [s:]*Ytype!name [s:]*Utype!name!count.
void unpack(char *pB, int bsize, int &pos, N_PDS_Comm *comm)
void setNetlistLocation(const NetlistLocation &netlist_location)
bool operator!=(const InstanceBlock &right) const
NetlistLocation netlistLocation_
Path and line number of .MODEL command.
ModelName name_
Model name.
bool operator!=(const ModelBlock &right) const
bool operator==(const InstanceBlock &right) const
std::vector< Param > params
Parameters from the line.
InstanceBlock(const std::string &name=std::string())
Packable * instance() const
void setName(const ModelName &name)
Packable * instance() const
void setType(const std::string &type)
ModelBlock & operator=(const ModelBlock &right)
void pack(char *buf, int bsize, int &pos, N_PDS_Comm *comm) const
std::string type_
Model type.
const std::string & getType() const
const ModelName & getModelName() const
const InstanceName & getInstanceName() const
const NetlistLocation & getNetlistLocation() const
void setInstanceName(const InstanceName &name)
int packedByteCount() const
InstanceName name_
Device instance name.
const NetlistLocation & getNetlistLocation() const
InstanceBlock & operator=(const InstanceBlock &right)
void pack(char *buf, int bsize, int &pos, N_PDS_Comm *comm) const
friend std::ostream & operator<<(std::ostream &os, const InstanceBlock &ib)
ModelBlock represents a .MODEL line from the netlist.
NetlistLocation netlistLocation_
Path and line number of .MODEL command.
InstanceBlock represent a device instance line from the netlist.
std::vector< Param > params
void setModelName(const ModelName &modelName)
int packedByteCount() const
ModelName modelName_
Model name if provided.