pygccxml.declarations.type_traits_classes module¶
-
class_declaration_traits
= <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>¶ implements functionality, needed for convenient work with C++ class declarations
-
class_traits
= <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>¶ implements functionality, needed for convenient work with C++ classes
-
class
declaration_xxx_traits
(declaration_class)¶ Bases:
object
this class implements the functionality needed for convenient work with declaration classes
- Implemented functionality:
- find out whether a declaration is a desired one
- get reference to the declaration
-
get_declaration
(type_)¶ returns reference to the declaration
Precondition: self.is_my_case( type ) == True
-
is_my_case
(type_)¶ returns True, if type represents the desired declaration, False otherwise
-
enum_declaration
= <bound method declaration_xxx_traits.get_declaration of <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>>¶ returns reference to enum declaration
-
enum_traits
= <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>¶ implements functionality, needed for convenient work with C++ enums
-
find_copy_constructor
(type_)¶ Returns reference to copy constructor.
Parameters: type (declarations.class_t) – the class to be searched. Returns: the copy constructor Return type: declarations.constructor_t
-
find_noncopyable_vars
(class_type, already_visited_cls_vars=None)¶ Returns list of all noncopyable variables.
If an already_visited_cls_vars list is provided as argument, the returned list will not contain these variables. This list will be extended with whatever variables pointing to classes have been found.
Parameters: - class_type (declarations.class_t) – the class to be searched.
- already_visited_cls_vars (list) – optional list of vars that should not be checked a second time, to prevent infinite recursions.
Returns: list of all noncopyable variables.
Return type: list
-
find_trivial_constructor
(type_)¶ Returns reference to trivial constructor.
Parameters: type (declarations.class_t) – the class to be searched. Returns: the trivial constructor Return type: declarations.constructor_t
-
has_any_non_copyconstructor
(decl_type)¶ if class has any public constructor, which is not copy constructor, this function will return list of them, otherwise None
-
has_copy_constructor
(class_)¶ if class has public copy constructor, this function will return reference to it, None otherwise
-
has_destructor
(class_)¶ if class has destructor, this function will return reference to it, None otherwise
-
has_public_assign
(class_)¶ returns True, if class has public assign operator, False otherwise
-
has_public_constructor
(class_)¶ if class has any public constructor, this function will return list of them, otherwise None
-
has_public_destructor
(decl_type)¶ returns True, if class has public destructor, False otherwise
-
has_trivial_constructor
(class_)¶ if class has public trivial constructor, this function will return reference to it, None otherwise
-
has_vtable
(decl_type)¶ True, if class has virtual table, False otherwise
-
is_base_and_derived
(based, derived)¶ returns True, if there is “base and derived” relationship between classes, False otherwise
-
is_binary_operator
(oper)¶ returns True, if operator is binary operator, otherwise False
-
is_class
= <bound method declaration_xxx_traits.is_my_case of <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>>¶ returns True, if type represents C++ class definition, False otherwise
-
is_class_declaration
= <bound method declaration_xxx_traits.is_my_case of <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>>¶ returns True, if type represents C++ class declaration, False otherwise
-
is_convertible
(source, target)¶ returns True, if source could be converted to target, otherwise False
-
is_copy_constructor
(constructor)¶ Check if the declaration is a copy constructor,
Parameters: constructor (declarations.constructor_t) – the constructor to be checked. Returns: True if this is a copy constructor, False instead. Return type: bool
-
is_enum
= <bound method declaration_xxx_traits.is_my_case of <pygccxml.declarations.type_traits_classes.declaration_xxx_traits object>>¶ returns True, if type represents C++ enumeration declaration, False otherwise
-
is_noncopyable
(class_, already_visited_cls_vars=None)¶ Checks if class is non copyable
Parameters: - class (declarations.class_t) – the class to be checked
- already_visited_cls_vars (list) – optional list of vars that should not be checked a second time, to prevent infinite recursions. In general you can ignore this argument, it is mainly used during recursive calls of is_noncopyable() done by pygccxml.
Returns: if the class is non copyable
Return type: bool
-
is_struct
(declaration)¶ Returns True if declaration represents a C++ struct
Parameters: declaration (declaration_t) – the declaration to be checked. Returns: True if declaration represents a C++ struct Return type: bool
-
is_trivial_constructor
(constructor)¶ Check if the declaration is a trivial constructor.
Parameters: constructor (declarations.constructor_t) – the constructor to be checked. Returns: True if this is a trivial constructor, False instead. Return type: bool
-
is_unary_operator
(oper)¶ returns True, if operator is unary operator, otherwise False
-
is_union
(declaration)¶ Returns True if declaration represents a C++ union
Parameters: declaration (declaration_t) – the declaration to be checked. Returns: True if declaration represents a C++ union Return type: bool