# pygccxml.declarations.cpptypes module

defines classes, that describe C++ types

`FUNDAMENTAL_TYPES` = {'__int128_t': <pygccxml.declarations.cpptypes.int128_t object>, '__java_boolean': <pygccxml.declarations.cpptypes.jboolean_t object>, '__java_byte': <pygccxml.declarations.cpptypes.jbyte_t object>, '__java_char': <pygccxml.declarations.cpptypes.jchar_t object>, '__java_double': <pygccxml.declarations.cpptypes.jdouble_t object>, '__java_float': <pygccxml.declarations.cpptypes.jfloat_t object>, '__java_int': <pygccxml.declarations.cpptypes.jint_t object>, '__java_long': <pygccxml.declarations.cpptypes.jlong_t object>, '__java_short': <pygccxml.declarations.cpptypes.jshort_t object>, '__uint128_t': <pygccxml.declarations.cpptypes.uint128_t object>, 'bool': <pygccxml.declarations.cpptypes.bool_t object>, 'char': <pygccxml.declarations.cpptypes.char_t object>, 'complex double': <pygccxml.declarations.cpptypes.complex_double_t object>, 'complex float': <pygccxml.declarations.cpptypes.complex_float_t object>, 'complex long double': <pygccxml.declarations.cpptypes.complex_long_double_t object>, 'double': <pygccxml.declarations.cpptypes.double_t object>, 'float': <pygccxml.declarations.cpptypes.float_t object>, 'int': <pygccxml.declarations.cpptypes.int_t object>, 'jboolean': <pygccxml.declarations.cpptypes.jboolean_t object>, 'jbyte': <pygccxml.declarations.cpptypes.jbyte_t object>, 'jchar': <pygccxml.declarations.cpptypes.jchar_t object>, 'jdouble': <pygccxml.declarations.cpptypes.jdouble_t object>, 'jfloat': <pygccxml.declarations.cpptypes.jfloat_t object>, 'jint': <pygccxml.declarations.cpptypes.jint_t object>, 'jlong': <pygccxml.declarations.cpptypes.jlong_t object>, 'jshort': <pygccxml.declarations.cpptypes.jshort_t object>, 'long double': <pygccxml.declarations.cpptypes.long_double_t object>, 'long int': <pygccxml.declarations.cpptypes.long_int_t object>, 'long long int': <pygccxml.declarations.cpptypes.long_long_int_t object>, 'long long unsigned int': <pygccxml.declarations.cpptypes.long_long_unsigned_int_t object>, 'long unsigned int': <pygccxml.declarations.cpptypes.long_unsigned_int_t object>, 'short int': <pygccxml.declarations.cpptypes.short_int_t object>, 'short unsigned int': <pygccxml.declarations.cpptypes.short_unsigned_int_t object>, 'signed char': <pygccxml.declarations.cpptypes.signed_char_t object>, 'signed int': <pygccxml.declarations.cpptypes.int_t object>, 'signed short int': <pygccxml.declarations.cpptypes.short_int_t object>, 'unsigned char': <pygccxml.declarations.cpptypes.unsigned_char_t object>, 'unsigned int': <pygccxml.declarations.cpptypes.unsigned_int_t object>, 'void': <pygccxml.declarations.cpptypes.void_t object>, 'wchar_t': <pygccxml.declarations.cpptypes.wchar_t object>}

  defines a mapping between fundamental type name and its synonym to the instance of class that describes the type

class `array_t`(base, size)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents C++ array type

  `SIZE_UNKNOWN` = -1
  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`
  `size`

    returns array size

class `bool_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents bool type

  `CPPNAME` = 'bool'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `calldef_type_t`(return_type=None, arguments_types=None)

  Bases: `object`

  base class for all types that describes “callable” declaration

  `arguments_types`

    list of argument `types`

  `has_ellipsis`
  `return_type`

    reference to `return type`

class `char_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents char type

  `CPPNAME` = 'char'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `complex_double_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents complex double type

  `CPPNAME` = 'complex double'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `complex_float_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents complex float type

  `CPPNAME` = 'complex float'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `complex_long_double_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents complex long double type

  `CPPNAME` = 'complex long double'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `compound_t`(base)

  Bases: `pygccxml.declarations.cpptypes.type_t`

  class that allows to represent compound types like const int*

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `const_t`(base)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents whatever const type

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `declarated_t`(declaration)

  Bases: `pygccxml.declarations.cpptypes.type_t`, `pygccxml.declarations.byte_info.byte_info`

  class that binds between to hierarchies: `type_t` and `declaration_t`

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `declaration`

    reference to `declaration_t`

  `partial_decl_string`

class `double_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents double type

  `CPPNAME` = 'double'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `dummy_type_t`(decl_string)

  Bases: `pygccxml.declarations.cpptypes.type_t`

  provides `type_t` interface for a string, that defines C++ type.

  This class could be very useful in the code generator.

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `elaborated_t`(base)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents elaborated type

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `ellipsis_t`

  Bases: `pygccxml.declarations.cpptypes.type_t`

  type, that represents “…” in function definition

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `float_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents float type

  `CPPNAME` = 'float'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `free_function_type_t`(return_type=None, arguments_types=None)

  Bases: `pygccxml.declarations.cpptypes.type_t`, `pygccxml.declarations.cpptypes.calldef_type_t`

  describes free function type

  `NAME_TEMPLATE` = '%(return_type)s (*)( %(arguments)s )'
  `TYPEDEF_NAME_TEMPLATE` = '%(return_type)s ( *%(typedef_name)s )( %(arguments)s )'
  `arguments_types`

    list of argument `types`

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  static `create_decl_string`(return_type, arguments_types, with_defaults=True)

    Returns free function type

    Parameters:

    - return_type (`type_t`) – function return type
    - arguments_types – list of argument `type`

    Return type: | `free_function_type_t`

  `create_typedef`(typedef_name, unused=None, with_defaults=True)

    returns string, that contains valid C++ code, that defines typedef to function type

    Parameters: | name – the desired name of typedef

  `decl_string`
  `has_ellipsis`
  `partial_decl_string`
  `return_type`

    reference to `return type`

class `fundamental_t`(name)

  Bases: `pygccxml.declarations.cpptypes.type_t`

  base class for all fundamental, build-in types

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `int128_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents __int128_t type

  `CPPNAME` = '__int128_t'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents int type

  `CPPNAME` = 'int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `java_fundamental_t`(name)

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  base class for all JNI defined fundamental types

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jboolean_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jboolean type

  `JNAME` = 'jboolean'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jbyte_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jbyte type

  `JNAME` = 'jbyte'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jchar_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jchar type

  `JNAME` = 'jchar'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jdouble_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jdouble type

  `JNAME` = 'jdouble'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jfloat_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jfloat type

  `JNAME` = 'jfloat'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jint_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jint type

  `JNAME` = 'jint'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jlong_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jlong type

  `JNAME` = 'jlong'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `jshort_t`

  Bases: `pygccxml.declarations.cpptypes.java_fundamental_t`

  represents jshort type

  `JNAME` = 'jshort'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `long_double_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents long double type

  `CPPNAME` = 'long double'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `long_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents long int type

  `CPPNAME` = 'long int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `long_long_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents long long int type

  `CPPNAME` = 'long long int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `long_long_unsigned_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents long long unsigned int type

  `CPPNAME` = 'long long unsigned int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `long_unsigned_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents long unsigned int type

  `CPPNAME` = 'long unsigned int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `member_function_type_t`(class_inst=None, return_type=None, arguments_types=None, has_const=False)

  Bases: `pygccxml.declarations.cpptypes.type_t`, `pygccxml.declarations.cpptypes.calldef_type_t`

  describes member function type

  `NAME_TEMPLATE` = '%(return_type)s ( %(class)s::* )( %(arguments)s )%(has_const)s'
  `TYPEDEF_NAME_TEMPLATE` = '%(return_type)s ( %(class)s::*%(typedef_name)s)( %(arguments)s ) %(has_const)s'
  `arguments_types`

    list of argument `types`

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `class_inst`

    reference to parent `class`

  `clone`()

    returns new instance of the type

  static `create_decl_string`(return_type, class_decl_string, arguments_types, has_const, with_defaults=True)
  `create_typedef`(typedef_name, class_alias=None, with_defaults=True)

    creates typedef to the function type

    Parameters: | typedef_name – desired type name
    Return type: | string

  `decl_string`
  `has_const`

    describes, whether function has const modifier

  `has_ellipsis`
  `partial_decl_string`
  `return_type`

    reference to `return type`

class `member_variable_type_t`(class_inst=None, variable_type=None)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  describes member variable type

  `NAME_TEMPLATE` = '%(type)s ( %(class)s::* )'
  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`
  `variable_type`

    describes member variable `type`

class `pointer_t`(base)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents whatever* type

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `reference_t`(base)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents whatever& type

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `restrict_t`(base)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents restrict whatever type

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `short_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents short int type

  `CPPNAME` = 'short int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `short_unsigned_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents short unsigned int type

  `CPPNAME` = 'short unsigned int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `signed_char_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents signed char type

  `CPPNAME` = 'signed char'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `type_qualifiers_t`(has_static=False, has_mutable=False, has_extern=False)

  Bases: `object`

  contains additional information about type: mutable, static, extern

  `has_extern`
  `has_mutable`
  `has_static`

class `type_t`

  Bases: `pygccxml.declarations.byte_info.byte_info`

  base class for all types

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `uint128_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents __uint128_t type

  `CPPNAME` = '__uint128_t'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `unknown_t`

  Bases: `pygccxml.declarations.cpptypes.type_t`

  type, that represents all C++ types, that could not be parsed by GCC-XML

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `unsigned_char_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents unsigned char type

  `CPPNAME` = 'unsigned char'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `unsigned_int_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents unsigned int type

  `CPPNAME` = 'unsigned int'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `void_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents void type

  `CPPNAME` = 'void'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `volatile_t`(base)

  Bases: `pygccxml.declarations.cpptypes.compound_t`

  represents volatile whatever type

  `base`

    reference to internal/base class

  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`

class `wchar_t`

  Bases: `pygccxml.declarations.cpptypes.fundamental_t`

  represents wchar_t type

  `CPPNAME` = 'wchar_t'
  `build_decl_string`(with_defaults=True)
  `byte_align`

    Alignment of this declaration/type in bytes

    Returns: | Alignment of this declaration/type in bytes
    Return type: | int

  `byte_size`

    Size of this declaration/type in bytes

    Returns: | Size of this declaration/type in bytes
    Return type: | int

  `clone`()

    returns new instance of the type

  `decl_string`
  `partial_decl_string`