#include "Domain/DomainTraits.h"
#include "Utilities/PAssert.h"
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. |
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?
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, MultiPatchView< LayoutTag, PatchTag, Dim2 > >::globalPatch(), Engine< Dim, T, MultiPatch< LayoutTag, PatchTag > >::globalPatch(), DomainMapNode< Dom, T >::insert(), LayoutBaseViewData< Dim, Dim2, SparseTileLayout< Dim2 > >::LayoutBaseViewData(), FieldShiftSimple< Expression >::make(), View3< Field< Mesh, T, EngineTag >, int, int, int >::make(), View2< Field< Mesh, T, EngineTag >, FieldOffset< Dim >, Loc< Dim > >::make(), View2< Field< Mesh, T, EngineTag >, int, int >::make(), View1< Field< Mesh, T, EngineTag >, Loc< Mesh::dimensions > >::make(), View1< Field< Mesh, T, EngineTag >, int >::make(), View1Implementation< Field< Mesh, T, EngineTag >, Domain, false >::make(), View1Implementation< Field< Mesh, T, EngineTag >, Domain, true >::make(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::make(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::make(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::make(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::make(), View3< Array< Dim, T, EngineTag >, int, int, int >::make(), View2< Array< Dim, T, EngineTag >, int, int >::make(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::make(), View1< Array< Dim, T, EngineTag >, int >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, false >::make(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::make(), View3< Field< Mesh, T, EngineTag >, int, int, int >::makeRead(), View2< Field< Mesh, T, EngineTag >, FieldOffset< Dim >, Loc< Dim > >::makeRead(), View2< Field< Mesh, T, EngineTag >, int, int >::makeRead(), View1< Field< Mesh, T, EngineTag >, Loc< Mesh::dimensions > >::makeRead(), View1< Field< Mesh, T, EngineTag >, int >::makeRead(), View1Implementation< Field< Mesh, T, EngineTag >, Domain, true >::makeRead(), View7< Array< Dim, T, EngineTag >, int, int, int, int, int, int, int >::makeRead(), View6< Array< Dim, T, EngineTag >, int, int, int, int, int, int >::makeRead(), View5< Array< Dim, T, EngineTag >, int, int, int, int, int >::makeRead(), View4< Array< Dim, T, EngineTag >, int, int, int, int >::makeRead(), View3< Array< Dim, T, EngineTag >, int, int, int >::makeRead(), View2< Array< Dim, T, EngineTag >, int, int >::makeRead(), View1< Array< Dim, T, EngineTag >, Loc< Dim > >::makeRead(), View1< Array< Dim, T, EngineTag >, int >::makeRead(), View1Implementation< Array< Dim, T, EngineTag >, Domain, true >::makeRead(), and SparseTileLayoutViewData< Dim, Dim2 >::SparseTileLayoutViewData().