77 hash(std::uint64_t v, std::uint64_t seed = 0);
80 hash(
const std::string& str);
119 operator()(
const type_base_sptr t)
const;
291 #endif //__ABG_HASH_H__
The abstraction of an array type.
The base type of all declarations.
Hash functor for instances of enum_type_decl.
Hashing started but is not yet finished.
hash_t operator()(const member_base &m) const
Hashing function for a member_base IR node.
shared_ptr< function_type > function_type_sptr
Convenience typedef for a shared pointer on a function_type.
An abstraction helper for type declarations.
shared_ptr< method_type > method_type_sptr
Convenience typedef for shared pointer to method_type.
The base class of both types and declarations.
Hasher for the class_or_union type.
Abstracts a reference type.
The abstraction of a qualified type.
Abstraction of a base specifier in a class declaration.
hashing::hashing_state get_hashing_state(const type_or_decl_base &tod)
Get the hashing state of an IR node.
Abstracts the type of a class member function.
A cycle has been detected in the graph on the current node node.
Abstracts a class declaration.
Hash functor for instances of pointer_type_def.
Hash functor for instances of union_decl type.
hash_t combine_hashes(hash_t val1, hash_t val2)
Combine two hash values to produce a third hash value.
Hash functor for instances of type_decl.
bool is_recursive_artefact(const type_or_decl_base &t)
Test if an artifact is recursive.
Abstracts a declaration for an enum type.
Toplevel namespace for libabigail.
shared_ptr< ptr_to_mbr_type > ptr_to_mbr_type_sptr
Convenience typedef for a shared pointer to a ptr_to_mbr_type.
No hashing has been done/started.
Hash functor for instances of reference_type_def.
uint32_t fnv_hash(const std::string &str)
Compute a stable string hash.
Abstracts a union type declaration.
The abstraction of a pointer-to-member type.
Hash functor for instances of qualified_type_def.
Types of the main internal representation of libabigail.
The base type of class_decl and union_decl.
The hashing functor for function_type.
bool serialize_hash(uint64_t hash, string &output)
Serialiaze a hash value computed using the XH64 algorithm (from the xxhash project) into a string of ...
Hash functor for instances of type_base.
bool deserialize_hash(const string &input, uint64_t &hash)
Read a string of characters representing a string of hexadecimal digits which itself represents a has...
The abstraction of a pointer type.
Hash functor for instances of typedef_decl.
A basic type declaration that introduces no scope.
Hasher for the class_decl type.
Hashing a sub-type while hashing another type.
The base class for member types, data members and member functions. Its purpose is mainly to carry th...
Hash functor for instances of array_type_def::hash.
Abstraction for an array range type, like in Ada, or just for an array dimension like in C or C++...
Hashing functor for the method_type type.
Hashing of given IR node started and is now done. If an ABI artifact is in this state, then it must have an hash value available and should be get by peek_hash_value or type_or_decl_base::hash_value().
The hashing functor for class_decl::base_spec.
Hash functor for instances of array_type_def::subrange_type.
The hashing functor for member_base.
The abstraction of a typedef declaration.
Hash functor for instances of ptr_to_mbr_type.
void set_hashing_state(const type_or_decl_base &tod, hashing::hashing_state s)
Set the hashing state of an IR node.
hashing_state
Enumeration of the different hashing states of an IR node being hashed.
Abstraction of a function type.
hash_t hash(uint64_t v, uint64_t seed)
Hash an integer value and combine it with a hash previously computed.