klee
klee::MapOfSets< K, V > Class Template Reference

#include <MapOfSets.h>

Inheritance diagram for klee::MapOfSets< K, V >:
Collaboration diagram for klee::MapOfSets< K, V >:

Classes

class  iterator
 
class  Node
 

Public Member Functions

 MapOfSets ()
 
void clear ()
 
void insert (const std::set< K > &set, const V &value)
 
V * lookup (const std::set< K > &set)
 
iterator begin ()
 
iterator end ()
 
void subsets (const std::set< K > &set, std::vector< std::pair< std::set< K >, V > > &resultOut)
 
void supersets (const std::set< K > &set, std::vector< std::pair< std::set< K >, V > > &resultOut)
 
template<class Predicate >
V * findSuperset (const std::set< K > &set, const Predicate &p)
 
template<class Predicate >
V * findSubset (const std::set< K > &set, const Predicate &p)
 

Private Member Functions

template<class Iterator , class Vector >
void findSubsets (Node *n, const std::set< K > &accum, Iterator begin, Iterator end, Vector &resultsOut)
 
template<class Iterator , class Vector >
void findSupersets (Node *n, const std::set< K > &accum, Iterator begin, Iterator end, Vector &resultsOut)
 
template<class Predicate >
V * findSuperset (Node *n, typename std::set< K >::iterator begin, typename std::set< K >::iterator end, const Predicate &p)
 
template<class Predicate >
V * findSubset (Node *n, typename std::set< K >::iterator begin, typename std::set< K >::iterator end, const Predicate &p)
 

Private Attributes

Node root
 

Detailed Description

template<class K, class V>
class klee::MapOfSets< K, V >

This implements the UBTree data structure (see Hoffmann and Koehler, "A New Method to Index and Query Sets", IJCAI 1999)

Definition at line 30 of file MapOfSets.h.

Constructor & Destructor Documentation

◆ MapOfSets()

template<class K , class V >
klee::MapOfSets< K, V >::MapOfSets

Definition at line 185 of file MapOfSets.h.

Member Function Documentation

◆ begin()

template<class K , class V >
MapOfSets< K, V >::iterator klee::MapOfSets< K, V >::begin

Definition at line 218 of file MapOfSets.h.

◆ clear()

template<class K , class V >
void klee::MapOfSets< K, V >::clear

Definition at line 376 of file MapOfSets.h.

Referenced by CexCachingSolver::~CexCachingSolver().

Here is the caller graph for this function:

◆ end()

template<class K , class V >
MapOfSets< K, V >::iterator klee::MapOfSets< K, V >::end

Definition at line 222 of file MapOfSets.h.

◆ findSubset() [1/2]

template<class K , class V >
template<class Predicate >
V * klee::MapOfSets< K, V >::findSubset ( const std::set< K > &  set,
const Predicate &  p 
)

Definition at line 371 of file MapOfSets.h.

Referenced by CexCachingSolver::searchForAssignment().

Here is the caller graph for this function:

◆ findSubset() [2/2]

template<class K , class V >
template<class Predicate >
V * klee::MapOfSets< K, V >::findSubset ( Node n,
typename std::set< K >::iterator  begin,
typename std::set< K >::iterator  end,
const Predicate &  p 
)
private

◆ findSubsets()

template<class K , class V >
template<class Iterator , class Vector >
void klee::MapOfSets< K, V >::findSubsets ( Node n,
const std::set< K > &  accum,
Iterator  begin,
Iterator  end,
Vector &  resultsOut 
)
private

◆ findSuperset() [1/2]

template<class K , class V >
template<class Predicate >
V * klee::MapOfSets< K, V >::findSuperset ( const std::set< K > &  set,
const Predicate &  p 
)

Definition at line 365 of file MapOfSets.h.

Referenced by CexCachingSolver::searchForAssignment().

Here is the caller graph for this function:

◆ findSuperset() [2/2]

template<class K , class V >
template<class Predicate >
V * klee::MapOfSets< K, V >::findSuperset ( Node n,
typename std::set< K >::iterator  begin,
typename std::set< K >::iterator  end,
const Predicate &  p 
)
private

◆ findSupersets()

template<class K , class V >
template<class Iterator , class Vector >
void klee::MapOfSets< K, V >::findSupersets ( Node n,
const std::set< K > &  accum,
Iterator  begin,
Iterator  end,
Vector &  resultsOut 
)
private

◆ insert()

template<class K , class V >
void klee::MapOfSets< K, V >::insert ( const std::set< K > &  set,
const V &  value 
)

Definition at line 188 of file MapOfSets.h.

References klee::MapOfSets< K, V >::Node::children, klee::MapOfSets< K, V >::Node::isEndOfSet, and klee::MapOfSets< K, V >::Node::value.

Referenced by CexCachingSolver::getAssignment().

Here is the caller graph for this function:

◆ lookup()

template<class K , class V >
V * klee::MapOfSets< K, V >::lookup ( const std::set< K > &  set)

◆ subsets()

template<class K , class V >
void klee::MapOfSets< K, V >::subsets ( const std::set< K > &  set,
std::vector< std::pair< std::set< K >, V > > &  resultOut 
)

Definition at line 248 of file MapOfSets.h.

◆ supersets()

template<class K , class V >
void klee::MapOfSets< K, V >::supersets ( const std::set< K > &  set,
std::vector< std::pair< std::set< K >, V > > &  resultOut 
)

Definition at line 290 of file MapOfSets.h.

Member Data Documentation

◆ root


The documentation for this class was generated from the following file: