HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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)
 
virtual ~GA_RTIFiltered ()
 
virtual GA_RangeTypeInterfacecopy () const
 
virtual bool isSplittable () const
 
virtual bool isEmpty () const
 
virtual GA_Size getMaxEntries () const
 
virtual GA_Size getEntries () const
 
virtual bool isEqual (const GA_RangeTypeInterface &src) const
 
virtual bool split (GA_RangeTypeInterface *list[2]) const
 
virtual void iterateCreate (GA_IteratorState &state) const
 
virtual void iterateDestroy (GA_IteratorState &state) const
 
virtual void iterateCopy (GA_IteratorState &dest, const GA_IteratorState &src) const
 
virtual void iterateRewind (GA_IteratorState &state, GA_Offset &start, GA_Offset &end) const
 
virtual void iterateNext (GA_IteratorState &state, GA_Offset &start, GA_Offset &end) const
 
virtual bool areTraversalDeletionsSafe () const
 
virtual GA_Size getPageCount () const
 
virtual bool getPageElementRange (GA_Range &, GA_Size, GA_Size) const
 
virtual GA_Offset getFirstOffsetInPage (GA_Size) const
 
- 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)
virtual GA_RTIFiltered::~GA_RTIFiltered ( )
virtual

Member Function Documentation

virtual bool GA_RTIFiltered::areTraversalDeletionsSafe ( ) const
virtual

RangeTypeInterface implementation

Reimplemented from GA_RangeTypeInterface.

virtual GA_RangeTypeInterface* GA_RTIFiltered::copy ( ) const
virtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

virtual GA_Size GA_RTIFiltered::getEntries ( ) const
virtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

virtual GA_Offset GA_RTIFiltered::getFirstOffsetInPage ( GA_Size  ) const
inlinevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 118 of file GA_RTIFiltered.h.

virtual GA_Size GA_RTIFiltered::getMaxEntries ( ) const
virtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

virtual GA_Size GA_RTIFiltered::getPageCount ( ) const
inlinevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 115 of file GA_RTIFiltered.h.

virtual bool GA_RTIFiltered::getPageElementRange ( GA_Range ,
GA_Size  ,
GA_Size   
) const
inlinevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 116 of file GA_RTIFiltered.h.

virtual bool GA_RTIFiltered::isEmpty ( ) const
virtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

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

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

virtual bool GA_RTIFiltered::isSplittable ( ) const
inlinevirtual

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

Definition at line 100 of file GA_RTIFiltered.h.

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

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

virtual void GA_RTIFiltered::iterateCreate ( GA_IteratorState state) const
virtual

RangeTypeInterface implementation

Reimplemented from GA_RangeTypeInterface.

virtual void GA_RTIFiltered::iterateDestroy ( GA_IteratorState state) const
virtual

RangeTypeInterface implementation

Reimplemented from GA_RangeTypeInterface.

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

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

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

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.

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

RangeTypeInterface implementation

Implements GA_RangeTypeInterface.


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