Kanzi  3.9.9
Kanzi Engine C++ API
kanzi::PropertyAccessRange Class Reference

Property access range wraps the access of properties from another range. More...

#include <kanzi/core.ui/binding/property_access_range.hpp>

Inheritance diagram for kanzi::PropertyAccessRange:
[legend]

Classes

class  PropertyAccessRangeLocation
 Location implementation for property access range. More...
 

Public Member Functions

void adapt (AbstractRange &sourceRange, AbstractPropertyType propertyType)
 Adapts a new range and property type. More...
 
AbstractPropertyType getPropertyType () const
 Gets the property type used for access. More...
 
- 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...
 

Static Public Member Functions

static PropertyAccessRangeSharedPtr create (AbstractRangeSharedPtr sourceRange, AbstractPropertyType propertyType)
 Creates a new iterator range. More...
 

Protected Member Functions

AbstractRangeLocationPtr locationBeginOverride () override
 AbstractRange::locationBeginOverride() implementation. More...
 
 PropertyAccessRange (AbstractRangeSharedPtr sourceRange, AbstractPropertyType propertyType)
 Constructor. 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 Attributes

AbstractPropertyType m_propertyType
 Property type being accessed. More...
 
AbstractRangeSharedPtr m_sourceRangeReference
 Reference to the source range. More...
 

Detailed Description

Property access range wraps the access of properties from another range.

As opposed to reading the values and writing a ValueRange, PropertyAccessRange provides a lazy access to the properties of another range.

Since
Kanzi 3.9.0

Constructor & Destructor Documentation

kanzi::PropertyAccessRange::PropertyAccessRange ( AbstractRangeSharedPtr  sourceRange,
AbstractPropertyType  propertyType 
)
inlineexplicitprotected

Constructor.

Parameters
sourceRangeRange to iterate.
propertyTypeProperty type to access.

Member Function Documentation

static PropertyAccessRangeSharedPtr kanzi::PropertyAccessRange::create ( AbstractRangeSharedPtr  sourceRange,
AbstractPropertyType  propertyType 
)
static

Creates a new iterator range.

Parameters
sourceRangeRange to iterate.
propertyTypeProperty type to access.
Returns
Property access range shared pointer.
void kanzi::PropertyAccessRange::adapt ( AbstractRange sourceRange,
AbstractPropertyType  propertyType 
)

Adapts a new range and property type.

Parameters
sourceRangeRange to iterate.
propertyTypeProperty type to access.
Since
Kanzi 3.9.6 changed type of the sourceRange parameter.
AbstractPropertyType kanzi::PropertyAccessRange::getPropertyType ( ) const
inline

Gets the property type used for access.

Returns
Property type.
AbstractRangeLocationPtr kanzi::PropertyAccessRange::locationBeginOverride ( )
overrideprotectedvirtual

Member Data Documentation

AbstractRangeSharedPtr kanzi::PropertyAccessRange::m_sourceRangeReference
protected

Reference to the source range.

AbstractPropertyType kanzi::PropertyAccessRange::m_propertyType
protected

Property type being accessed.


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