Kanzi Engine API
kanzi::ObservableRangeProducer Class Referenceabstract

Class for generating ranges based on parameters. More...

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

Inheritance diagram for kanzi::ObservableRangeProducer:
[legend]

Public Member Functions

ObservableRangeSharedPtr createRange (ObservableRangeProducerSharedPtr rangeProducer, void *referenceObject, string_view name, string_view params)
 Creates a range. More...
 
void invalidateRanges ()
 Invalidates existing, created ranges, then clears the array. More...
 
void notifyRanges ()
 Notifies created ranges. More...
 
virtual ~ObservableRangeProducer ()
 Destructor. More...
 

Protected Member Functions

virtual ObservableRangeSharedPtr createRangeOverride (void *referenceObject, string_view name, string_view param)=0
 Internal implementation of iterator creation. More...
 

Protected Attributes

vector< ObservableRangeWeakPtrm_createdRanges
 Iterators created. More...
 

Detailed Description

Class for generating ranges based on parameters.

Inherited by classes providing ranges. The classes should also create new range types inheriting ObservableRange.

Since
Kanzi 3.9.0

Constructor & Destructor Documentation

virtual kanzi::ObservableRangeProducer::~ObservableRangeProducer ( )
virtual

Destructor.

Member Function Documentation

void kanzi::ObservableRangeProducer::invalidateRanges ( )

Invalidates existing, created ranges, then clears the array.

void kanzi::ObservableRangeProducer::notifyRanges ( )

Notifies created ranges.

This allows the users of the created ranges to react to the ranges changing.

ObservableRangeSharedPtr kanzi::ObservableRangeProducer::createRange ( ObservableRangeProducerSharedPtr  rangeProducer,
void *  referenceObject,
string_view  name,
string_view  params 
)

Creates a range.

The type of the reference object is left up to implementation.

Parameters
rangeProducerProducer reference for the range, used to test if the range is still valid.
referenceObjectReference object that initiates the query.
nameIterator name.
paramsIterator creation parameters, implementation-dependent.
Returns
Iterator.
virtual ObservableRangeSharedPtr kanzi::ObservableRangeProducer::createRangeOverride ( void *  referenceObject,
string_view  name,
string_view  param 
)
protectedpure virtual

Internal implementation of iterator creation.

Parameters
rangeProducerProducer that created the range.
nameIterator name.
paramIterator creation parameter, implementation-dependent.
Returns
Iterator.

Implemented in kanzi::GatherLightsRenderPass, and kanzi::GatherNearestLightsRenderPass.

Member Data Documentation

vector<ObservableRangeWeakPtr> kanzi::ObservableRangeProducer::m_createdRanges
protected

Iterators created.


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