The label is a string by which this instance is known.
In a paramset (Spice .model) the label is the name of the new type being defined.
A “short_label” is the simple form of the label, without scope information.
A “long_label” is a full label including hierarchical scope information.
This function usually reads the type from the input string, then calls set_dev_type
to set it.
Usually, you can use this function:
/*--------------------------------------------------------------------------*/ static void parse_label(CS& cmd, CARD* x) { assert(x); std::string my_name; cmd >> my_name; x->set_label(my_name); } /*--------------------------------------------------------------------------*/
Printing the type usually simple. Usually, you can use this function:
/*--------------------------------------------------------------------------*/ static void print_label(OMSTREAM& o, const COMPONENT* x) { assert(x); o << x->short_label(); } /*--------------------------------------------------------------------------*/