Definition at line 1589 of file abg-ir-priv.h.
◆ priv() [1/2]
◆ priv() [2/2]
◆ comparison_started() [1/2]
Test if a pair of class_or_union is being currently compared.
- Parameters
-
first | the first class or union (of the pair) to test for. |
second | the 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]
Test if a pair of class_or_union is being currently compared.
- Parameters
-
first | the first class or union (of the pair) to test for. |
second | the 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]
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
-
first | the class or union (of the pair) to mark as being currently compared. |
second | the 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]
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
-
first | the class or union (of the pair) to mark as being currently compared. |
second | the 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
-
first | the class or union (of the pair) to mark as being currently compared. |
second | the 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]
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
-
Definition at line 1697 of file abg-ir-priv.h.
◆ unmark_as_being_compared() [2/2]
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
-
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.
◆ data_members_
◆ is_printing_flat_representation_
bool is_printing_flat_representation_ |
◆ mem_fns_map_
◆ member_class_templates_
member_class_templates member_class_templates_ |
◆ member_function_templates_
member_function_templates member_function_templates_ |
◆ member_functions_
◆ naming_typedef_
◆ non_static_data_members_
◆ signature_2_mem_fn_map_
◆ static_data_members_
The documentation for this struct was generated from the following file: