libabigail
Classes | Namespaces | Typedefs | Enumerations | Functions
abg-ir-priv.h File Reference

This contains the private implementation of the suppression engine of libabigail. More...

#include <string>
#include <iostream>
#include "abg-ir.h"
#include "abg-corpus.h"
Include dependency graph for abg-ir-priv.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  class_or_union::priv
 
struct  environment::priv
 The private data of the environment type. More...
 
struct  function_type::priv
 The type of the private data of the function_type type. More...
 
class  integral_type
 The internal representation of an integral type. More...
 
struct  translation_unit::priv
 Private type to hold private members of translation_unit. More...
 
struct  type_base::priv
 Definition of the private data of type_base. More...
 
struct  uint64_t_pair_hash
 The hashing functor for a pair of uint64_t. More...
 

Namespaces

 abigail
 Toplevel namespace for libabigail.
 
 abigail::ir
 The namespace of the internal representation of ABI artifacts like types and decls.
 

Typedefs

typedef unordered_set< const class_or_union * > class_set_type
 A convenience typedef for a set of pointer to class_or_union. More...
 
typedef unordered_set< const function_type * > fn_set_type
 A convenience typedef for a set of pointer to function_type. More...
 
typedef unordered_map< uint64_t_pair_type, bool, uint64_t_pair_hash > type_comparison_result_type
 A convenience typedef for a map which key is a pair of uint64_t and which value is a boolean. This is initially intended to cache the result of comparing two (sub-)types. More...
 
typedef std::pair< uint64_t, uint64_t > uint64_t_pair_type
 A convenience typedef for a pair of uint64_t which is initially intended to store a pair of pointer values. More...
 
typedef unordered_set< uint64_t_pair_type, uint64_t_pair_hash > uint64_t_pairs_set_type
 A convenience typedef for a set of uint64_t_pair. More...
 

Enumerations

enum  comparison_result { COMPARISON_RESULT_DIFFERENT , COMPARISON_RESULT_EQUAL , COMPARISON_RESULT_CYCLE_DETECTED , COMPARISON_RESULT_UNKNOWN }
 The result of structural comparison of type ABI artifacts. More...
 

Functions

template<typename input_iterator , typename deref_lambda >
void canonicalize_types (const input_iterator &begin, const input_iterator &end, deref_lambda deref)
 Compute the canonical type for all the IR types of the system. More...
 
integral_type::modifiers_type operator& (integral_type::modifiers_type l, integral_type::modifiers_type r)
 Bitwise AND operator for integral_type::modifiers_type. More...
 
integral_type::modifiers_type & operator&= (integral_type::modifiers_type &l, integral_type::modifiers_type r)
 Bitwise &= operator for integral_type::modifiers_type. More...
 
integral_type::modifiers_type operator| (integral_type::modifiers_type l, integral_type::modifiers_type r)
 Bitwise OR operator for integral_type::modifiers_type. More...
 
integral_type::modifiers_type & operator|= (integral_type::modifiers_type &l, integral_type::modifiers_type r)
 Bitwise |= operator for integral_type::modifiers_type. More...
 
integral_type::modifiers_type operator~ (integral_type::modifiers_type l)
 Bitwise one's complement operator for integral_type::modifiers_type. More...
 
bool parse_integral_type (const string &str, integral_type &type)
 Parse an integral type from a string. More...
 

Detailed Description

This contains the private implementation of the suppression engine of libabigail.

Definition in file abg-ir-priv.h.