#include "Domain/Split.h"
#include "Domain/Contains.h"
#include "Domain/Touches.h"
#include "Utilities/Pooled.h"
#include "Utilities/PAssert.h"
#include <utility>
#include <list>
#include <iosfwd>
Classes | |
class | DomainMapNode< Dom, T > |
DomainMapNode is a node in a tree, where each Node has a list of domains and a left and right branch. More... | |
class | DomainMapIterator< Dom, T > |
An iterator for a DomainMap. More... | |
class | DomainMapConstIterator< Dom, T > |
An iterator for a DomainMap. More... | |
class | DomainMapTouchIterator< Dom, T > |
The touch iterator for a DomainMap. More... | |
class | DomainMap< Dom, T > |
DomainMap<Domain,Data> is templated on the type of domains it is storing, and the Data type it stores for each Domain. More... | |
Functions | |
template<class Dom , class T > | |
std::ostream & | operator<< (std::ostream &o, const DomainMap< Dom, T > &dmap) |
A specialization of the std::ostream output operator to say that DomainMap has a print method. |
The domains are stored in a tree-like structure which makes it efficient to find all subdomains which touch a given domain. Using a tree, the touch operation can be done in O(log(N)) time instead of O(N), since the domains are sorted.
std::ostream& operator<< | ( | std::ostream & | o, | |
const DomainMap< Dom, T > & | dmap | |||
) | [inline] |
A specialization of the std::ostream output operator to say that DomainMap has a print method.