libabigail
Loading...
Searching...
No Matches
class_or_union::priv Struct Reference

Public Member Functions

 priv (class_or_union::data_members &data_mbrs, class_or_union::member_functions &mbr_fns)
 
bool comparison_started (const class_or_union &first, const class_or_union &second) const
 Test if a pair of class_or_union is being currently compared.
 
bool comparison_started (const class_or_union *first, const class_or_union *second) const
 Test if a pair of class_or_union is being currently compared.
 
bool is_printing_flat_representation () const
 Getter of the 'is_printing_flat_representation_' boolean.
 
void mark_as_being_compared (const class_or_union &first, const class_or_union &second) const
 Mark a pair of classes or unions as being currently compared using the class_or_union== operator.
 
void mark_as_being_compared (const class_or_union *first, const class_or_union *second) const
 Mark a pair of classes or unions as being currently compared using the class_or_union== operator.
 
void mark_as_being_compared (const class_or_union_sptr &first, const class_or_union_sptr &second) const
 Mark a pair of classes or unions as being currently compared using the class_or_union== operator.
 
void set_printing_flat_representation ()
 Set the 'is_printing_flat_representation_' boolean to true.
 
void unmark_as_being_compared (const class_or_union &first, const class_or_union &second) const
 If a pair of class_or_union has been previously marked as being compared – via an invocation of mark_as_being_compared() this method unmarks it. Otherwise is has no effect.
 
void unmark_as_being_compared (const class_or_union *first, const class_or_union *second) const
 If a pair of class_or_union has been previously marked as being compared – via an invocation of mark_as_being_compared() this method unmarks it. Otherwise is has no effect.
 
void unset_printing_flat_representation ()
 Set the 'is_printing_flat_representation_' boolean to false.
 

Public Attributes

data_members data_members_
 
bool is_printing_flat_representation_
 
string_mem_fn_sptr_map_type mem_fns_map_
 
member_class_templates member_class_templates_
 
member_function_templates member_function_templates_
 
member_functions member_functions_
 
typedef_decl_wptr naming_typedef_
 
data_members non_static_data_members_
 
string_mem_fn_ptr_map_type signature_2_mem_fn_map_
 
data_members static_data_members_
 

Detailed Description

Definition at line 1589 of file abg-ir-priv.h.

Constructor & Destructor Documentation

◆ priv() [1/2]

priv ( )
inline

Definition at line 1605 of file abg-ir-priv.h.

◆ priv() [2/2]

Definition at line 1608 of file abg-ir-priv.h.

Member Function Documentation

◆ comparison_started() [1/2]

bool comparison_started ( const class_or_union & first,
const class_or_union & second ) const
inline

Test if a pair of class_or_union is being currently compared.

Parameters
firstthe first class or union (of the pair) to test for.
secondthe second class or union (of the pair) to test for.
Returns
true if the pair {first, second} is being compared, false otherwise.

Definition at line 1738 of file abg-ir-priv.h.

◆ comparison_started() [2/2]

bool comparison_started ( const class_or_union * first,
const class_or_union * second ) const
inline

Test if a pair of class_or_union is being currently compared.

Parameters
firstthe first class or union (of the pair) to test for.
secondthe second class or union (of the pair) to test for.
Returns
true if the pair {first, second} is being compared, false otherwise.

Definition at line 1758 of file abg-ir-priv.h.

◆ is_printing_flat_representation()

bool is_printing_flat_representation ( ) const
inline

Getter of the 'is_printing_flat_representation_' boolean.

That boolean marks the fact that the current class_or_union (and its sub-types graph) is being walked for the purpose of printing its flat representation. This is useful to detect cycles in the graph and avoid endless loops.

Definition at line 1793 of file abg-ir-priv.h.

◆ mark_as_being_compared() [1/3]

void mark_as_being_compared ( const class_or_union & first,
const class_or_union & second ) const
inline

Mark a pair of classes or unions as being currently compared using the class_or_union== operator.

Note that this marking business is to avoid infinite loop when comparing a pair of classes or unions. If via the comparison of a data member or a member function a recursive re-comparison of the class or union is attempted, the marking process helps to detect that infinite loop possibility and avoid it.

Parameters
firstthe class or union (of the pair) to mark as being currently compared.
secondthe second class or union (of the pair) to mark as being currently compared.

Definition at line 1635 of file abg-ir-priv.h.

◆ mark_as_being_compared() [2/3]

void mark_as_being_compared ( const class_or_union * first,
const class_or_union * second ) const
inline

Mark a pair of classes or unions as being currently compared using the class_or_union== operator.

Note that this marking business is to avoid infinite loop when comparing a pair of classes or unions. If via the comparison of a data member or a member function a recursive re-comparison of the class or union is attempted, the marking process helps to detect that infinite loop possibility and avoid it.

Parameters
firstthe class or union (of the pair) to mark as being currently compared.
secondthe second class or union (of the pair) to mark as being currently compared.

Definition at line 1659 of file abg-ir-priv.h.

◆ mark_as_being_compared() [3/3]

void mark_as_being_compared ( const class_or_union_sptr & first,
const class_or_union_sptr & second ) const
inline

Mark a pair of classes or unions as being currently compared using the class_or_union== operator.

Note that this marking business is to avoid infinite loop when comparing a pair of classes or unions. If via the comparison of a data member or a member function a recursive re-comparison of the class or union is attempted, the marking process helps to detect that infinite loop possibility and avoid it.

Parameters
firstthe class or union (of the pair) to mark as being currently compared.
secondthe second class or union (of the pair) to mark as being currently compared.

Definition at line 1678 of file abg-ir-priv.h.

◆ set_printing_flat_representation()

void set_printing_flat_representation ( )
inline

Set the 'is_printing_flat_representation_' boolean to true.

That boolean marks the fact that the current class_or_union (and its sub-types graph) is being walked for the purpose of printing its flat representation. This is useful to detect cycles in the graph and avoid endless loops.

Definition at line 1773 of file abg-ir-priv.h.

◆ unmark_as_being_compared() [1/2]

void unmark_as_being_compared ( const class_or_union & first,
const class_or_union & second ) const
inline

If a pair of class_or_union has been previously marked as being compared – via an invocation of mark_as_being_compared() this method unmarks it. Otherwise is has no effect.

This method is not thread safe because it uses the static data member classes_being_compared_. If you wish to use it in a multi-threaded environment you should probably protect the access to that static data member with a mutex or somesuch.

Parameters
firstthe first instance of class_or_union (of the pair) to unmark.
secondthe second instance of class_or_union (of the pair) to unmark.

Definition at line 1697 of file abg-ir-priv.h.

◆ unmark_as_being_compared() [2/2]

void unmark_as_being_compared ( const class_or_union * first,
const class_or_union * second ) const
inline

If a pair of class_or_union has been previously marked as being compared – via an invocation of mark_as_being_compared() this method unmarks it. Otherwise is has no effect.

This method is not thread safe because it uses the static data member classes_being_compared_. If you wish to use it in a multi-threaded environment you should probably protect the access to that static data member with a mutex or somesuch.

Parameters
firstthe first instance of class_or_union (of the pair) to unmark.
secondthe second instance of class_or_union (of the pair) to unmark.

Definition at line 1721 of file abg-ir-priv.h.

◆ unset_printing_flat_representation()

void unset_printing_flat_representation ( )
inline

Set the 'is_printing_flat_representation_' boolean to false.

That boolean marks the fact that the current class_or_union (and its sub-types graph) is being walked for the purpose of printing its flat representation. This is useful to detect cycles in the graph and avoid endless loops.

Definition at line 1783 of file abg-ir-priv.h.

Member Data Documentation

◆ data_members_

data_members data_members_

Definition at line 1592 of file abg-ir-priv.h.

◆ is_printing_flat_representation_

bool is_printing_flat_representation_

Definition at line 1603 of file abg-ir-priv.h.

◆ mem_fns_map_

Definition at line 1597 of file abg-ir-priv.h.

◆ member_class_templates_

member_class_templates member_class_templates_

Definition at line 1602 of file abg-ir-priv.h.

◆ member_function_templates_

member_function_templates member_function_templates_

Definition at line 1601 of file abg-ir-priv.h.

◆ member_functions_

member_functions member_functions_

Definition at line 1595 of file abg-ir-priv.h.

◆ naming_typedef_

typedef_decl_wptr naming_typedef_

Definition at line 1591 of file abg-ir-priv.h.

◆ non_static_data_members_

data_members non_static_data_members_

Definition at line 1594 of file abg-ir-priv.h.

◆ signature_2_mem_fn_map_

string_mem_fn_ptr_map_type signature_2_mem_fn_map_

Definition at line 1600 of file abg-ir-priv.h.

◆ static_data_members_

data_members static_data_members_

Definition at line 1593 of file abg-ir-priv.h.


The documentation for this struct was generated from the following file: