Classes | Namespaces | Functions

RelationOps.hpp File Reference

Go to the source code of this file.

Classes

struct  wali::relations::TernaryRelation< Subject >
 This class represents a ternary relation over the set 'Subject'. More...
class  wali::relations::TernaryRelation< Subject >::Iterator
 The iterator for this class. More...
struct  wali::relations::RelationTypedefs< State >
 This can be used in client code to hide the actual relation types. More...

Namespaces

namespace  wali
namespace  wali::relations

Functions

template<typename State >
void wali::relations::compose (typename RelationTypedefs< State >::BinaryRelation &out_result, typename RelationTypedefs< State >::BinaryRelation const &r1, typename RelationTypedefs< State >::BinaryRelation const &r2)
 Composes two binary relations.
template<typename OutRelation , typename State , typename Symbol >
void wali::relations::project_symbol_3 (OutRelation &out_result, std::set< Triple< State, Symbol, State > > const &delta, Symbol alpha)
 Projects out the symbol in the internal and call relation.
template<typename State >
void wali::relations::merge (typename RelationTypedefs< State >::BinaryRelation &out_result, typename RelationTypedefs< State >::BinaryRelation const &r_exit, typename RelationTypedefs< State >::BinaryRelation const &r_call, typename RelationTypedefs< State >::TernaryRelation const &delta_r)
 Performs the sort of merge required for NWA return edges.
template<typename State , typename Symbol >
void wali::relations::project_symbol_4 (typename RelationTypedefs< State >::TernaryRelation &out_result, std::set< Quad< State, State, Symbol, State > > const &delta, Symbol alpha)
 Projects out the symbol in the return relation.
template<typename State >
State wali::relations::biggest (State s1, State s2, State s3)
template<typename State >
void wali::relations::transitive_closure_no_remap (typename RelationTypedefs< State >::BinaryRelation &out_result, typename RelationTypedefs< State >::BinaryRelation const &r)
template<typename State >
void wali::relations::transitive_closure (typename RelationTypedefs< State >::BinaryRelation &out_result, typename RelationTypedefs< State >::BinaryRelation const &r)
 Constructs the transitive closure of an algorithm.
template<typename Relation >
void wali::relations::intersect (Relation &out_result, Relation const &r1, Relation const &r2)
 Returns the intersection of two binary relations on states.
template<typename Relation >
void wali::relations::union_ (Relation &out_result, Relation const &r1, Relation const &r2)
 Returns the union of two binary relations on states.