FreePOOMA  2.4.1
Classes | Functions
Contains.h File Reference

bool contains(domain,domain) is a global function which determines if the points in the second domain are all points which are in the first domain. More...

#include "Domain/DomainTraits.h"
#include "Utilities/PAssert.h"
Include dependency graph for Contains.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  ContainsDomainSingle< T1, T2, strided >
 ContainsDomainSingle<T1,T2,bool strided>::contains(a,b) compares two domains a and b of type T1 and T2, and returns true if a contains b. More...
struct  ContainsDomainSingle< T1, T2, true >
 The non-unit-stride version of ContainsDomainSingle, which does extra work for the case where a and b do not have unit stride. More...
struct  ContainsDomain< T1, T2, Dim >
 ContainsDomain implements a basic template meta-program to compare each dimension separately of the multidimensional domains for whether a contains b. More...
struct  ContainsDomain< T1, T2, 1 >

Functions

template<class T1 , class T2 >
bool contains (const T1 &a, const T2 &b)
 bool contains(domain1, domain2) is one of the domain calculus routines used to analyze domains to determine their relative characteristics.

Detailed Description

bool contains(domain,domain) is a global function which determines if the points in the second domain are all points which are in the first domain.

If there is even just one point in the second not in the first, then this returns false. Note that the order is important: if contains(a,b) is true, then the only way that contains(b,a) can be true is if a == b. The order for the query is: is b contained within a?


Function Documentation

template<class T1 , class T2 >
bool contains ( const T1 &  a,
const T2 &  b 
) [inline]

bool contains(domain1, domain2) is one of the domain calculus routines used to analyze domains to determine their relative characteristics.

It returns true if ALL the points in domain2 are found in the set of points which form domain1. If so, this returns true, else it returns false.

The implementation of contains is deferred to the ContainsDomain struct, which performs the contains comparison for each dimension and and's the results together.

References CTAssert.

Referenced by contains(), DynamicLayoutData::copy(), DynamicLayoutData::destroy(), DynamicLayoutViewData::DynamicLayoutViewData(), SpatialLayout< M, FL >::findPatchNumber(), DomainLayout< Dim >::globalID(), Engine< Dim, T, MultiPatch< LayoutTag, PatchTag > >::globalPatch(), Engine< Dim, T, MultiPatchView< LayoutTag, PatchTag, Dim2 > >::globalPatch(), DomainMapNode< Dom, T >::insert(), LayoutBaseViewData< Dim, Dim2, GridLayout< Dim2 > >::LayoutBaseViewData(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::make(), View1Implementation< Field< Mesh, T, EngineTag >, Domain, true >::make(), FieldShiftSimple< Expression >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, false >::make(), View1Implementation< Field< Mesh, T, EngineTag >, Domain, false >::make(), View1< Field< Mesh, T, EngineTag >, int >::make(), View1< Field< Mesh, T, EngineTag >, Loc< Mesh::dimensions > >::make(), View2< Field< Mesh, T, EngineTag >, int, int >::make(), View1< Array< Dim, T, EngineTag >, int >::make(), View2< Field< Mesh, T, EngineTag >, FieldOffset< Dim >, Loc< Dim > >::make(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::make(), View3< Field< Mesh, T, EngineTag >, int, int, int >::make(), View2< Array< Dim, T, EngineTag >, int, int >::make(), View3< Array< Dim, T, EngineTag >, int, int, int >::make(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::make(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::make(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::make(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::makeRead(), View1Implementation< Field< Mesh, T, EngineTag >, Domain, true >::makeRead(), View1< Field< Mesh, T, EngineTag >, int >::makeRead(), View1< Field< Mesh, T, EngineTag >, Loc< Mesh::dimensions > >::makeRead(), View2< Field< Mesh, T, EngineTag >, int, int >::makeRead(), View1< Array< Dim, T, EngineTag >, int >::makeRead(), View2< Field< Mesh, T, EngineTag >, FieldOffset< Dim >, Loc< Dim > >::makeRead(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::makeRead(), View3< Field< Mesh, T, EngineTag >, int, int, int >::makeRead(), View2< Array< Dim, T, EngineTag >, int, int >::makeRead(), View3< Array< Dim, T, EngineTag >, int, int, int >::makeRead(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::makeRead(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::makeRead(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::makeRead(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::makeRead(), and SparseTileLayoutViewData< Dim, Dim2 >::SparseTileLayoutViewData().