Kanzi  3.9.6
Kanzi Engine API
kanzi::ViewRange Class Reference

View over another range. More...

#include <kanzi/core/property/view_range.hpp>

Inheritance diagram for kanzi::ViewRange:
[legend]

Classes

class  ViewRangeLocation
 Location class for indexed view range. More...
 

Static Public Member Functions

static bool adapt (AbstractRange &potentialViewRange, AbstractRange *sourceRange, size_t length)
 Reuses a view range. More...
 
static ViewRangeSharedPtr create (AbstractRangeSharedPtr sourceRange, size_t length)
 Creates a new view range over a range. More...
 

Protected Member Functions

AbstractRangeLocationPtr locationBeginOverride () override
 AbstractRange::locationBeginOverride() implementation. More...
 
 ViewRange (AbstractRangeSharedPtr sourceRange, size_t length)
 Creates a new view range over a range. More...
 
- Protected Member Functions inherited from kanzi::AbstractRange
 AbstractRange ()=default
 Constructor. More...
 
virtual bool adaptViewOverride (AbstractRange &potentialViewRange, size_t length)
 Implementation-dependent adaptation of a view over the range. More...
 
virtual AbstractRangeSharedPtr createViewOverride (size_t length)
 Implementation-dependent view over the range. More...
 
virtual AbstractRangeSharedPtr evaluateOverride ()
 Implementation-dependent evaluation of the range. More...
 
- Protected Member Functions inherited from kanzi::ViewRangeImpl
 ViewRangeImpl (AbstractRangeSharedPtr sourceRange, size_t length)
 Constructor. More...
 

Additional Inherited Members

- Public Member Functions inherited from kanzi::AbstractRange
bool adaptView (AbstractRange &potentialViewRange, size_t length)
 Attempts to reuse a view over this range. More...
 
AbstractRangeIterator beginIteration ()
 Gets an iterator to the beginning of this range. More...
 
AbstractRangeSharedPtr createView (size_t length)
 Creates a view over this range. More...
 
AbstractRangeSharedPtr evaluate ()
 Evaluate the abstract range. More...
 
AbstractRangeLocationPtr locationBegin ()
 Gets an iteratable location to beginning of the range. More...
 
virtual ~AbstractRange ()=default
 Destructor. More...
 
- Public Member Functions inherited from kanzi::ViewRangeImpl
AbstractRangegetSourceRange () const
 Gets the source range. More...
 
size_t getViewLength () const
 Gets the length of the view. More...
 
void setSourceRange (AbstractRangeSharedPtr sourceRange)
 Sets the source range. More...
 
void setViewLength (size_t viewLength)
 Sets the length of the view. More...
 
- Protected Attributes inherited from kanzi::ViewRangeImpl
size_t m_length
 Limiting length. More...
 
AbstractRangeSharedPtr m_sourceRange
 Source range. More...
 

Detailed Description

View over another range.

View range abstracts a view over another range, but with limited size. This version of the view range only provides an iterator access interface.

Constructor & Destructor Documentation

◆ ViewRange()

kanzi::ViewRange::ViewRange ( AbstractRangeSharedPtr  sourceRange,
size_t  length 
)
inlineexplicitprotected

Creates a new view range over a range.

Parameters
sourceRangeRange as input to the view range.
lengthView range length.

Member Function Documentation

◆ create()

static ViewRangeSharedPtr kanzi::ViewRange::create ( AbstractRangeSharedPtr  sourceRange,
size_t  length 
)
inlinestatic

Creates a new view range over a range.

Parameters
sourceRangeRange as input to the view range.
lengthView range length.

◆ adapt()

static bool kanzi::ViewRange::adapt ( AbstractRange potentialViewRange,
AbstractRange sourceRange,
size_t  length 
)
static

Reuses a view range.

Parameters
potentialViewRangePotential view range.
sourceRangeSource range.
lengthView length.
Returns
If it is possible to use the existing range, true, otherwise false.
Since
Kanzi 3.9.6

◆ locationBeginOverride()

AbstractRangeLocationPtr kanzi::ViewRange::locationBeginOverride ( )
overrideprotectedvirtual

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