OpenSDN source code
|
#include <t_typedef.h>
Public Member Functions | |
t_typedef (t_program *program, t_type *type, std::string symbolic) | |
~t_typedef () | |
t_type * | get_type () const |
const std::string & | get_symbolic () const |
bool | is_typedef () const |
virtual std::string | get_fingerprint_material () const |
virtual void | generate_fingerprint () |
![]() | |
virtual | ~t_type () |
virtual void | set_name (const std::string &name) |
virtual const std::string & | get_name () const |
virtual bool | is_void () const |
virtual bool | is_base_type () const |
virtual bool | is_string () const |
virtual bool | is_bool () const |
virtual bool | is_enum () const |
virtual bool | is_struct () const |
virtual bool | is_xception () const |
virtual bool | is_container () const |
virtual bool | is_list () const |
virtual bool | is_set () const |
virtual bool | is_map () const |
virtual bool | is_service () const |
t_program * | get_program () |
t_type * | get_true_type () |
bool | has_fingerprint () const |
const uint8_t * | get_binary_fingerprint () const |
std::string | get_ascii_fingerprint () const |
const uint32_t | get_4byte_fingerprint () const |
![]() | |
t_doc () | |
void | set_doc (const std::string &doc) |
const std::string & | get_doc () const |
bool | has_doc () |
Private Attributes | |
t_type * | type_ |
std::string | symbolic_ |
Additional Inherited Members | |
![]() | |
static char | nybble_to_xdigit (int num) |
static std::string | byte_to_hex (uint8_t byte) |
![]() | |
std::map< std::string, std::string > | annotations_ |
![]() | |
static const int | fingerprint_len = 16 |
![]() | |
t_type () | |
t_type (t_program *program) | |
t_type (t_program *program, std::string name) | |
t_type (std::string name) | |
![]() | |
t_program * | program_ |
std::string | name_ |
uint8_t | fingerprint_ [fingerprint_len] |
A typedef is a mapping from a symbolic name to another type. In dymanically typed languages (i.e. php/python) the code generator can actually usually ignore typedefs and just use the underlying type directly, though in C++ the symbolic naming can be quite useful for code clarity.
Definition at line 33 of file t_typedef.h.
Definition at line 35 of file t_typedef.h.
|
inline |
Definition at line 40 of file t_typedef.h.
|
inlinevirtual |
Reimplemented from t_type.
Definition at line 58 of file t_typedef.h.
|
inlinevirtual |
Implements t_type.
Definition at line 54 of file t_typedef.h.
|
inline |
Definition at line 46 of file t_typedef.h.
|
inline |
Definition at line 42 of file t_typedef.h.
|
inlinevirtual |
Reimplemented from t_type.
Definition at line 50 of file t_typedef.h.
|
private |
Definition at line 67 of file t_typedef.h.
|
private |
Definition at line 66 of file t_typedef.h.