FreePOOMA  2.4.1
Classes | Functions
DomainMap.h File Reference

DomainMap<Domain,Data> stores a list of N domains (of type Domain), each with an associated piece of data (of type Data). More...

#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>
Include dependency graph for DomainMap.h:
This graph shows which files directly or indirectly include this file:

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.

Detailed Description

DomainMap<Domain,Data> stores a list of N domains (of type Domain), each with an associated piece of data (of type Data).

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.


Function Documentation

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.