Kanzi 3.9.10
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.
 
AbstractPropertyType getPropertyType () const
 Gets the property type used for access.
 
- Public Member Functions inherited from kanzi::AbstractRange
bool adaptView (AbstractRange &potentialViewRange, size_t length)
 Attempts to reuse a view over this range.
 
AbstractRangeIterator beginIteration ()
 Gets an iterator to the beginning of this range.
 
AbstractRangeSharedPtr createView (size_t length)
 Creates a view over this range.
 
AbstractRangeSharedPtr evaluate ()
 Evaluate the abstract range.
 
AbstractRangeLocationPtr locationBegin ()
 Gets an iteratable location to beginning of the range.
 
virtual ~AbstractRange ()=default
 Destructor.
 

Static Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

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

◆ PropertyAccessRange()

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

Constructor.

Parameters
sourceRangeRange to iterate.
propertyTypeProperty type to access.

Member Function Documentation

◆ create()

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.

◆ adapt()

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.

◆ getPropertyType()

AbstractPropertyType kanzi::PropertyAccessRange::getPropertyType ( ) const
inline

Gets the property type used for access.

Returns
Property type.

◆ locationBeginOverride()

AbstractRangeLocationPtr kanzi::PropertyAccessRange::locationBeginOverride ( )
overrideprotectedvirtual

Member Data Documentation

◆ m_sourceRangeReference

AbstractRangeSharedPtr kanzi::PropertyAccessRange::m_sourceRangeReference
protected

Reference to the source range.

◆ m_propertyType

AbstractPropertyType kanzi::PropertyAccessRange::m_propertyType
protected

Property type being accessed.


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