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.