Parent class of all the concrete types. More...
#include <type.h>
Classes | |
| struct | type_eq |
| struct | type_hash |
Public Member Functions | |
| void | set_attribute (type_attribute_kind attrib, type *k, type *v) |
| type_attribute_kind | get_attribute () |
| type * | get_adt_key_type () |
| type * | get_adt_value_type () |
| bool | is_abstract_data_type () |
| virtual bool | operator== (const type &other)=0 |
| size_t | hash () |
| virtual void | print () |
| virtual string | to_string () const |
| virtual type * | get_deref_type () const |
| virtual type * | get_inner_type () |
| bool | is_base_or_enum_type () const |
| bool | is_char_type () const |
| bool | is_array_type () const |
| virtual bool | is_void_type () const |
| bool | is_void_star_type () const |
| virtual string | get_typedef_name () |
| virtual bool | is_pointer_type () const |
| virtual bool | is_constarray_type () const |
| virtual bool | is_vararray_type () const |
| virtual bool | is_enum_type () const |
| virtual bool | is_record_type () const |
| virtual bool | is_vector_type () const |
| virtual bool | is_complex_type () const |
| virtual bool | is_base_type () const |
| virtual bool | is_function_type () const |
| virtual int | get_size () |
| virtual int | get_asize () |
| virtual bool | is_signed_type () const |
| virtual void | print_kind () const |
Static Public Member Functions | |
| static void | uniquify_loaded_types () |
| static void | clear () |
| static type * | get_type_from_name (string name) |
| static void | insert_type (string name, type *t) |
| static void | register_loaded_typeref (type **t) |
Protected Member Functions | |
| void | rehash_begin () |
| void | rehash_end () |
Static Protected Member Functions | |
| static type * | get_instance (type *t) |
Protected Attributes | |
| int | size |
| int | asize |
| string | typedef_name |
| size_t | hash_c |
Static Protected Attributes | |
|
static unordered_set< type *, type_hash, type_eq > | instances |
| static set< type ** > | unresolved_types |
Friends | |
| class | boost::serialization::access |
| ostream & | operator<< (ostream &os, const type &obj) |
Parent class of all the concrete types.
Helper to make() methods that returns the unique instance of the given type instance.
1.6.3