HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_RTIFiltered Class Reference

An implementation of a range which "filters" the range. More...

#include <GA_RTIFiltered.h>

+ Inheritance diagram for GA_RTIFiltered:

Public Member Functions

 GA_RTIFiltered (const GA_Range &base, const GA_RTIFilterHandle &filter)
 
 GA_RTIFiltered (const GA_RTIFiltered &src)
 
 ~GA_RTIFiltered () override
 
GA_RangeTypeInterfacecopy () const override
 
bool isSplittable () const override
 
bool isEmpty () const override
 
GA_Size getMaxEntries () const override
 
GA_Size getEntries () const override
 
bool isEqual (const GA_RangeTypeInterface &src) const override
 
bool split (GA_RangeTypeInterface *list[2]) const override
 
void iterateCreate (GA_IteratorState &state) const override
 
void iterateDestroy (GA_IteratorState &state) const override
 
void iterateCopy (GA_IteratorState &dest, const GA_IteratorState &src) const override
 
void iterateRewind (GA_IteratorState &state, GA_Offset &start, GA_Offset &end) const override
 
void iterateNext (GA_IteratorState &state, GA_Offset &start, GA_Offset &end) const override
 
bool areTraversalDeletionsSafe () const override
 
GA_Size getPageCount () const override
 
bool getPageElementRange (GA_Range &, GA_Size, GA_Size) const override
 
GA_Offset getFirstOffsetInPage (GA_Size) const override
 
- Public Member Functions inherited from GA_RangeTypeInterface
 GA_RangeTypeInterface (const GA_IndexMap &list)
 
 GA_RangeTypeInterface (const GA_RangeTypeInterface &other)
 
virtual ~GA_RangeTypeInterface ()
 
GA_AttributeOwner getOwner () const
 Query type of element. More...
 
bool is_divisible () const
 Convenience method to test whether the range is divisible. More...
 
bool splitIntoRanges (GA_Range &r1, GA_Range &r2) const
 Split into two existing ranges. More...
 
virtual bool isOrdered () const
 Query if the RTI is ordered according to the index. More...
 
virtual bool canContainDuplicates () const
 
virtual const GA_RangeMemberQueryallocMemberQuery () const
 
const GA_IndexMapgetIndexMap () const
 Accessor for the index map. More...
 
bool operator== (const GA_RangeTypeInterface &src) const
 
void incref () const
 
void decref () const
 

Additional Inherited Members

- Static Public Member Functions inherited from GA_RangeTypeInterface
static voidoperator new (size_t size, void *p)
 
static voidoperator new (size_t size)
 
static void operator delete (void *p, size_t size)
 
- Protected Member Functions inherited from GA_RangeTypeInterface
bool getPageElementRangeNonSplittable () const
 Method which can be called for getPageElementRange() More...
 
GA_Offset getFirstOffsetInPageNonSplittable () const
 Method which can be called for getFirstOffsetInPage() More...
 
GA_Size computeEntries () const
 This method creates an iterator and counts the entries. More...
 

Detailed Description

An implementation of a range which "filters" the range.

The GA_RTIFiltered class takes a source range and a filter. The filter is applied to the source range to determine whether elements of the source range belong to the filtered range. A example might be:

class FilterOdd : GA_RTIFilterObject
{
FilterOdd() {}
virtual ~FilterOdd() {}
virtual bool filter(const GA_IndexMap &, GA_Offset offset) const
{ return (offset & 1) != 0; }
virtual bool isEqual(const GA_RTIFilterObject *src) const
{ return dynamic_cast<const FilterOdd *>(src) != NULL; }
};
...
GA_Range all_points(new GA_RTIOffset(geo.getPointMap()));
GA_Range odd_points(all_points, GA_RTIFilterHandle(new FilterOdd));
...

Definition at line 86 of file GA_RTIFiltered.h.

Constructor & Destructor Documentation

GA_RTIFiltered::GA_RTIFiltered ( const GA_Range base,
const GA_RTIFilterHandle filter 
)
GA_RTIFiltered::GA_RTIFiltered ( const GA_RTIFiltered src)
GA_RTIFiltered::~GA_RTIFiltered ( )
override

Member Function Documentation

bool GA_RTIFiltered::areTraversalDeletionsSafe ( ) const
overridevirtual

RangeTypeInterface implementation

Reimplemented from GA_RangeTypeInterface.

GA_RangeTypeInterface* GA_RTIFiltered::copy ( ) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

GA_Size GA_RTIFiltered::getEntries ( ) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

GA_Offset GA_RTIFiltered::getFirstOffsetInPage ( GA_Size  ) const
inlineoverridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 118 of file GA_RTIFiltered.h.

GA_Size GA_RTIFiltered::getMaxEntries ( ) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

GA_Size GA_RTIFiltered::getPageCount ( ) const
inlineoverridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 115 of file GA_RTIFiltered.h.

bool GA_RTIFiltered::getPageElementRange ( GA_Range ,
GA_Size  ,
GA_Size   
) const
inlineoverridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 116 of file GA_RTIFiltered.h.

bool GA_RTIFiltered::isEmpty ( ) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

bool GA_RTIFiltered::isEqual ( const GA_RangeTypeInterface src) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

bool GA_RTIFiltered::isSplittable ( ) const
inlineoverridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 100 of file GA_RTIFiltered.h.

void GA_RTIFiltered::iterateCopy ( GA_IteratorState dest,
const GA_IteratorState src 
) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

void GA_RTIFiltered::iterateCreate ( GA_IteratorState state) const
overridevirtual

RangeTypeInterface implementation

Reimplemented from GA_RangeTypeInterface.

void GA_RTIFiltered::iterateDestroy ( GA_IteratorState state) const
overridevirtual

RangeTypeInterface implementation

Reimplemented from GA_RangeTypeInterface.

void GA_RTIFiltered::iterateNext ( GA_IteratorState state,
GA_Offset start,
GA_Offset end 
) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

void GA_RTIFiltered::iterateRewind ( GA_IteratorState state,
GA_Offset start,
GA_Offset end 
) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

bool GA_RTIFiltered::split ( GA_RangeTypeInterface list[2]) const
overridevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.


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