libabigail
|
The private data and functions of the abigail::ir::comparison types. More...
#include "abg-internal.h"
#include <memory>
#include <unordered_set>
#include "abg-hash.h"
#include "abg-suppression.h"
#include "abg-comparison.h"
#include "abg-comp-filter.h"
#include "abg-sptr-utils.h"
#include "abg-tools-utils.h"
Go to the source code of this file.
Classes | |
struct | array_diff::priv |
struct | base_diff::priv |
struct | base_diff_comp |
A comparison function for instances of base_diff. More... | |
struct | base_spec_comp |
A functor to compare instances of class_decl::base_spec. More... | |
struct | changed_enumerator_comp |
A functor to compare two changed enumerators, based on their initial value. More... | |
struct | class_diff::priv |
The type of the private data (pimpl sub-object) of the class_diff type. More... | |
struct | class_or_union_diff::priv |
The type of private data of class_or_union_diff. More... | |
struct | corpus_diff::diff_stats::priv |
The type of the private data of corpus_diff::diff_stats. More... | |
struct | corpus_diff::priv |
struct | data_member_comp |
A comparison functor to compare two data members based on their offset. More... | |
struct | data_member_diff_comp |
A comparison functor to compare two instances of var_diff that represent changed data members based on the offset of the initial data members, or if equal, based on their qualified name. If equal again, then the offset and qualified name of the new data members are considered. More... | |
struct | decl_diff_base::priv |
struct | priv |
Private data for the diff type. The details of generic view of the diff node are expressed here. More... | |
struct | diff_comp |
A comparison functor for instances of diff. More... | |
struct | diff_context::priv |
The private member (pimpl) for diff_context. More... | |
struct | diff_equal |
A comparison functor for using diff_sptr and diff* in a hash map or set. More... | |
struct | diff_hash |
A hashing functor for using diff_sptr and diff* in a hash map or set. More... | |
struct | diff_less_than_functor |
A functor to compare two instances of diff_sptr. More... | |
struct | distinct_diff::priv |
The private data structure for distinct_diff. More... | |
struct | elf_symbol_comp |
A functor to compare instances of elf_symbol base on their names. More... | |
struct | enum_diff::priv |
struct | enumerator_value_comp |
A functor to compare two enumerators based on their value. This implements the "less than" operator. More... | |
struct | fn_parm_diff::priv |
struct | fn_parm_diff_comp |
A comparison functor to compare two instances of fn_parm_diff based on their indexes. More... | |
struct | function_comp |
"Less than" functor to compare instances of function_decl. More... | |
struct | function_decl_diff::priv |
struct | function_decl_diff_comp |
A "Less Than" functor to compare instance of function_decl_diff. More... | |
struct | function_type_diff::priv |
struct | parm_comp |
Functor that compares two function parameters for the purpose of sorting them. More... | |
struct | pointer_diff::priv |
The internal type for the impl idiom implementation of pointer_diff. More... | |
struct | ptr_to_mbr_diff::priv |
The private data of the ptr_to_mbr_diff type. More... | |
struct | qualified_type_diff::priv |
struct | reference_diff::priv |
struct | scope_diff::priv |
struct | subrange_diff::priv |
The internal type for the impl idiom implementation of subrange_diff. More... | |
struct | translation_unit_diff::priv |
struct | type_diff_base::priv |
struct | typedef_diff::priv |
struct | types_or_decls_equal |
An equality functor for types_or_decls_type. More... | |
struct | types_or_decls_hash |
A hashing functor for types_or_decls_type. More... | |
struct | var_comp |
A functor to compare instances of var_decl base on their qualified names. More... | |
struct | var_diff::priv |
The internal type for the impl idiom implementation of var_diff. More... | |
struct | var_diff_sptr_comp |
Functor to sort instances of var_diff_sptr. More... | |
struct | virtual_member_function_diff_comp |
A comparison functor for instances of function_decl_diff that represent changes between two virtual member functions. More... | |
Namespaces | |
namespace | abigail |
Toplevel namespace for libabigail. | |
namespace | abigail::comparison |
utilities to compare abi artifacts | |
Typedefs | |
typedef unordered_map< const diff *, artifact_sptr_set_type, diff_hash, diff_equal > | diff_artifact_set_map_type |
A convenience typedef for an unordered_map which key is a diff* and which value is a artifact_sptr_set_type. More... | |
typedef unordered_map< types_or_decls_type, diff_sptr, types_or_decls_hash, types_or_decls_equal > | types_or_decls_diff_map_type |
A convenience typedef for a map of types_or_decls_type and diff_sptr. More... | |
typedef std::pair< const type_or_decl_base_sptr, const type_or_decl_base_sptr > | types_or_decls_type |
Convenience typedef for a pair of decls or types. More... | |
Functions | |
diff * | get_fn_decl_or_var_decl_diff_ancestor (const diff *) |
type_base_sptr | get_leaf_type (qualified_type_def_sptr t) |
Return the first underlying type that is not a qualified type. More... | |
bool | is_diff_of_global_decls (const diff *d) |
Tests if a given diff node is to represent the changes between two gobal decls. More... | |
bool | is_less_than (const decl_diff_base &first, const decl_diff_base &second) |
Compare two decl diff nodes (decl_diff_base) for the purpose of sorting. More... | |
bool | is_less_than (const decl_diff_base_sptr &first, const decl_diff_base_sptr &second) |
Compare two decl diff nodes (decl_diff_base) for the purpose of sorting. More... | |
void | sort_artifacts_set (const artifact_sptr_set_type &set, vector< type_or_decl_base_sptr > &sorted) |
Sort the set of ABI artifacts contained in a artifact_sptr_set_type. More... | |
void | sort_changed_data_members (changed_var_sptrs_type &to_sort) |
Sort (in place) a vector of changed data members. More... | |
void | sort_changed_enumerators (const string_changed_enumerator_map &enumerators_map, changed_enumerators_type &sorted) |
Sort a map of changed enumerators. More... | |
void | sort_data_members (const string_decl_base_sptr_map &data_members, vector< decl_base_sptr > &sorted) |
Sort a map of data members by the offset of their initial value. More... | |
void | sort_enumerators (const string_enumerator_map &enumerators_map, enum_type_decl::enumerators &sorted) |
Sort a map of enumerators by their value. More... | |
void | sort_function_decl_diffs (function_decl_diff_sptrs_type &fn_diffs) |
Sort a vector of function_decl_diff_sptr. More... | |
void | sort_string_base_diff_sptr_map (const string_base_diff_sptr_map &map, base_diff_sptrs_type &sorted) |
Sort a map of string -> base_diff_sptr into a sorted vector of base_diff_sptr. The base_diff_sptr are sorted by increasing value of their offset in their containing type. More... | |
void | sort_string_base_sptr_map (const string_base_sptr_map &m, class_decl::base_specs &sorted) |
Lexicographically sort base specifications found in instances of string_base_sptr_map. More... | |
void | sort_string_data_member_diff_sptr_map (const string_var_diff_sptr_map &map, var_diff_sptrs_type &sorted) |
Sort the values of a string_var_diff_sptr_map and store the result in a vector of var_diff_sptr. More... | |
void | sort_string_diff_ptr_map (const string_diff_ptr_map &map, diff_ptrs_type &sorted) |
Sort a map ofg string -> diff* into a vector of diff_ptr. The diff_ptr are sorted lexicographically wrt qualified names of their first subjects. More... | |
void | sort_string_diff_sptr_map (const string_diff_sptr_map &map, diff_sptrs_type &sorted) |
Sort a map ofg string -> diff_sptr into a vector of diff_sptr. The diff_sptr are sorted lexicographically wrt qualified names of their first subjects. More... | |
void | sort_string_elf_symbol_map (const string_elf_symbol_map &map, vector< elf_symbol_sptr > &sorted) |
Sort a map of string -> pointer to elf_symbol. More... | |
void | sort_string_fn_parm_diff_sptr_map (const string_fn_parm_diff_sptr_map &map, vector< fn_parm_diff_sptr > &sorted) |
Sort a map of changed function parameters by the indexes of the function parameters. More... | |
void | sort_string_fn_parm_diff_sptr_map (const unsigned_fn_parm_diff_sptr_map &map, vector< fn_parm_diff_sptr > &sorted) |
Sort a map of fn_parm_diff by the indexes of the function parameters. More... | |
void | sort_string_function_decl_diff_sptr_map (const string_function_decl_diff_sptr_map &map, function_decl_diff_sptrs_type &sorted) |
Sort the values of a string_function_decl_diff_sptr_map map and store the result in a vector of function_decl_diff_sptr objects. More... | |
void | sort_string_function_ptr_map (const string_function_ptr_map &map, vector< const function_decl * > &sorted) |
Sort an instance of string_function_ptr_map map and stuff a resulting sorted vector of pointers to function_decl. More... | |
void | sort_string_member_function_sptr_map (const string_member_function_sptr_map &map, class_or_union::member_functions &sorted) |
Sort a map that's an instance of string_member_function_sptr_map and fill a vector of member functions with the sorted result. More... | |
void | sort_string_parm_map (const string_parm_map &map, vector< function_decl::parameter_sptr > &sorted) |
Sort a map of string -> function parameters. More... | |
void | sort_string_type_base_sptr_map (string_type_base_sptr_map &map, vector< type_base_sptr > &sorted) |
Sort a map of string to type_base_sptr entities. More... | |
void | sort_string_var_diff_sptr_map (const string_var_diff_sptr_map &map, var_diff_sptrs_type &sorted) |
Sort of an instance of string_var_diff_sptr_map map. More... | |
void | sort_string_var_ptr_map (const string_var_ptr_map &map, vector< var_decl_sptr > &sorted) |
Sort a map of string -> pointer to var_decl. More... | |
void | sort_string_virtual_member_function_diff_sptr_map (const string_function_decl_diff_sptr_map &map, function_decl_diff_sptrs_type &sorted) |
Sort an map of string -> virtual member function into a vector of virtual member functions. The virtual member functions are sorted by increasing order of their virtual index. More... | |
void | sort_unsigned_data_member_diff_sptr_map (const unsigned_var_diff_sptr_map map, var_diff_sptrs_type &sorted) |
Sort the values of a unsigned_var_diff_sptr_map map and store the result into a vector of var_diff_sptr. More... | |
void | sort_var_diffs (var_diff_sptrs_type &var_diffs) |
Sort a vector of var_diff_sptr. More... | |
The private data and functions of the abigail::ir::comparison types.
Interfaces declared/defined in this file are to be used by parts of libabigail but *NOT* by clients of libabigail.
Definition in file abg-comparison-priv.h.