Classes | Public Types | Public Member Functions | Public Attributes

wali::relations::TernaryRelation< Subject > Struct Template Reference

This class represents a ternary relation over the set 'Subject'. More...

List of all members.

Classes

class  Iterator
 The iterator for this class. More...

Public Types

typedef Iterator iterator
typedef Iterator const_iterator

Public Member Functions

bool insert (Triple< Subject, Subject, Subject > const &tuple)
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
size_t size () const
pair< iterator, iteratorequal_range (pair< Subject, Subject > key) const
 Returns an iterator range that runs over all tuples where the first two coordinates match 'key'.
bool operator== (TernaryRelation const &other) const
 TernaryRelation (unsigned int largest)
 TernaryRelation ()
bool insert (unsigned int leftVal, unsigned int middleVal, unsigned int rightVal)
bool insert (Triple< unsigned, unsigned, unsigned > triple)
bool insert (Triple< unsigned long, unsigned long, unsigned long > triple)
bdd getBdd () const
 TernaryRelation (unsigned int largest)
 TernaryRelation ()
bool insert (unsigned int leftVal, unsigned int middleVal, unsigned int rightVal)
bool insert (Triple< unsigned, unsigned, unsigned > triple)
bool insert (Triple< unsigned long, unsigned long, unsigned long > triple)
bool check () const

Public Attributes

Domain domain
bdd myBdd
wsr::RelationTypedefs
< unsigned long >
::TernaryRelation 
set
wbr::RelationTypedefs
< unsigned long >
::TernaryRelation 
bdd

Detailed Description

template<typename Subject>
struct wali::relations::TernaryRelation< Subject >

This class represents a ternary relation over the set 'Subject'.

Wraps a bdd in a nice friendly package.


Member Typedef Documentation

template<typename Subject>
typedef Iterator wali::relations::TernaryRelation< Subject >::iterator
template<typename Subject>
typedef Iterator wali::relations::TernaryRelation< Subject >::const_iterator

Constructor & Destructor Documentation

template<typename Subject>
wali::relations::TernaryRelation< Subject >::TernaryRelation ( unsigned int  largest  ) 
template<typename Subject>
wali::relations::TernaryRelation< Subject >::TernaryRelation (  ) 
template<typename Subject>
wali::relations::TernaryRelation< Subject >::TernaryRelation ( unsigned int  largest  ) 
template<typename Subject>
wali::relations::TernaryRelation< Subject >::TernaryRelation (  ) 

Member Function Documentation

template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( Triple< Subject, Subject, Subject > const &  tuple  ) 
template<typename Subject>
iterator wali::relations::TernaryRelation< Subject >::begin (  ) 
template<typename Subject>
const_iterator wali::relations::TernaryRelation< Subject >::begin (  )  const
template<typename Subject>
iterator wali::relations::TernaryRelation< Subject >::end (  ) 
template<typename Subject>
const_iterator wali::relations::TernaryRelation< Subject >::end (  )  const
template<typename Subject>
size_t wali::relations::TernaryRelation< Subject >::size (  )  const
template<typename Subject>
pair<iterator, iterator> wali::relations::TernaryRelation< Subject >::equal_range ( pair< Subject, Subject >  key  )  const

Returns an iterator range that runs over all tuples where the first two coordinates match 'key'.

Referenced by wali::relations::merge().

template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::operator== ( TernaryRelation< Subject > const &  other  )  const
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( unsigned int  leftVal,
unsigned int  middleVal,
unsigned int  rightVal 
)
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( Triple< unsigned, unsigned, unsigned >  triple  ) 
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( Triple< unsigned long, unsigned long, unsigned long >  triple  ) 
template<typename Subject>
bdd wali::relations::TernaryRelation< Subject >::getBdd (  )  const
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( unsigned int  leftVal,
unsigned int  middleVal,
unsigned int  rightVal 
)
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( Triple< unsigned, unsigned, unsigned >  triple  ) 
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::insert ( Triple< unsigned long, unsigned long, unsigned long >  triple  ) 
template<typename Subject>
bool wali::relations::TernaryRelation< Subject >::check (  )  const

Member Data Documentation

template<typename Subject>
Domain wali::relations::TernaryRelation< Subject >::domain
template<typename Subject>
bdd wali::relations::TernaryRelation< Subject >::myBdd
template<typename Subject>
wsr::RelationTypedefs<unsigned long>::TernaryRelation wali::relations::TernaryRelation< Subject >::set
template<typename Subject>
wbr::RelationTypedefs<unsigned long>::TernaryRelation wali::relations::TernaryRelation< Subject >::bdd

The documentation for this struct was generated from the following files: