This represents a single typedef declaration in the dc file. More...
#include "dcTypedef.h"
Public Member Functions | |
DCTypedef (DCParameter *parameter, bool implicit=false) | |
The DCTypedef object becomes the owner of the supplied parameter pointer and will delete it upon destruction. More... | |
DCTypedef (const std::string &name) | |
Creates a bogus typedef reference. More... | |
std::string | get_description () const |
Returns a brief decription of the typedef, useful for human consumption. More... | |
const std::string & | get_name () const |
Returns the name of this typedef. More... | |
int | get_number () const |
Returns a unique index number associated with this typedef definition. More... | |
bool | is_bogus_typedef () const |
Returns true if the typedef has been flagged as a bogus typedef. More... | |
bool | is_implicit_typedef () const |
Returns true if the typedef has been flagged as an implicit typedef, meaning it was created for a DCClass that was referenced inline as a type. More... | |
DCParameter * | make_new_parameter () const |
Returns a newly-allocated DCParameter object that uses the same type as that named by the typedef. More... | |
virtual void | output (std::ostream &out, bool brief) const |
Write a string representation of this instance to <out>. More... | |
void | set_number (int number) |
Assigns the unique number to this typedef. More... | |
virtual void | write (std::ostream &out, bool brief, int indent_level) const |
Public Member Functions inherited from DCDeclaration | |
virtual DCClass * | as_class () |
virtual const DCClass * | as_class () const |
virtual DCSwitch * | as_switch () |
virtual const DCSwitch * | as_switch () const |
virtual void | output (std::ostream &out) const |
Write a string representation of this instance to <out>. More... | |
void | write (std::ostream &out, int indent_level) const |
Write a string representation of this instance to <out>. More... | |
This represents a single typedef declaration in the dc file.
It assigns a particular type to a new name, just like a C typedef.
Definition at line 26 of file dcTypedef.h.
DCTypedef::DCTypedef | ( | DCParameter * | parameter, |
bool | implicit = false |
||
) |
The DCTypedef object becomes the owner of the supplied parameter pointer and will delete it upon destruction.
Definition at line 26 of file dcTypedef.cxx.
DCTypedef::DCTypedef | ( | const std::string & | name | ) |
Creates a bogus typedef reference.
Definition at line 38 of file dcTypedef.cxx.
string DCTypedef::get_description | ( | ) | const |
Returns a brief decription of the typedef, useful for human consumption.
Definition at line 76 of file dcTypedef.cxx.
const string & DCTypedef::get_name | ( | ) | const |
Returns the name of this typedef.
Definition at line 68 of file dcTypedef.cxx.
References DCPackerInterface::get_name().
Referenced by DCFile::add_typedef(), DCParameter::output_typedef_name(), and DCParameter::write_typedef_name().
int DCTypedef::get_number | ( | ) | const |
Returns a unique index number associated with this typedef definition.
This is defined implicitly when the .dc file(s) are read.
Definition at line 60 of file dcTypedef.cxx.
bool DCTypedef::is_bogus_typedef | ( | ) | const |
Returns true if the typedef has been flagged as a bogus typedef.
This is set for typedefs that are generated by the parser as placeholder for missing typedefs, as when reading a partial file; it should not occur in a normal valid dc file.
Definition at line 89 of file dcTypedef.cxx.
Referenced by DCFile::add_typedef().
bool DCTypedef::is_implicit_typedef | ( | ) | const |
Returns true if the typedef has been flagged as an implicit typedef, meaning it was created for a DCClass that was referenced inline as a type.
Definition at line 98 of file dcTypedef.cxx.
Referenced by DCFile::add_typedef().
DCParameter * DCTypedef::make_new_parameter | ( | ) | const |
Returns a newly-allocated DCParameter object that uses the same type as that named by the typedef.
Definition at line 107 of file dcTypedef.cxx.
References DCField::set_name(), and DCParameter::set_typedef().
|
virtual |
Write a string representation of this instance to <out>.
Implements DCDeclaration.
Definition at line 127 of file dcTypedef.cxx.
void DCTypedef::set_number | ( | int | number | ) |
Assigns the unique number to this typedef.
This is normally called only by the DCFile interface as the typedef is added.
Definition at line 119 of file dcTypedef.cxx.
Referenced by DCFile::add_typedef().