14 #ifndef CPROVER_GOTO_INSTRUMENT_WMM_ABSTRACT_EVENT_H
15 #define CPROVER_GOTO_INSTRUMENT_WMM_ABSTRACT_EVENT_H
128 return (
id == other.
id);
133 return (
id < other.
id);
161 unsigned char met)
const;
206 static unsigned char uc(
bool truth_value)
208 return truth_value ? 1u : 0u;
std::ostream & operator<<(std::ostream &s, const abstract_eventt &e)
bool unsafe_pair(const abstract_eventt &next, memory_modelt model) const
bool is_corresponding_fence(const abstract_eventt &first, const abstract_eventt &second) const
std::string get_operation() const
void operator()(const abstract_eventt &other)
static unsigned char uc(bool truth_value)
bool unsafe_pair_lwfence(const abstract_eventt &next, memory_modelt model) const
source_locationt source_location
bool unsafe_pair_asm(const abstract_eventt &next, memory_modelt model, unsigned char met) const
bool unsafe_pair_lwfence_param(const abstract_eventt &next, memory_modelt model, bool lwsync_met) const
abstract_eventt(operationt _op, unsigned _th, irep_idt _var, unsigned _id, source_locationt _loc, irep_idt _function_id, bool _local, bool WRf, bool WWf, bool RRf, bool RWf, bool WWc, bool RWc, bool RRc)
bool operator<(const abstract_eventt &other) const
abstract_eventt(operationt _op, unsigned _th, irep_idt _var, unsigned _id, source_locationt _loc, irep_idt _function_id, bool _local)
unsigned char fence_value() const
bool operator==(const abstract_eventt &other) const
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
This class represents a node in a directed graph.
A Template Class for Graphs.
#define UNREACHABLE
This should be used to mark dead code.