PLCnext API Documentation  22.9.0.33
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Arp::System::Rsc::Services::IRscReadEnumerator< T > Class Template Referenceabstract

Interface for reading an array or an enumerator. For regular enumerators UndefinedArrayLength is used. More...

#include <IRscReadEnumerator.hxx>

Inheritance diagram for Arp::System::Rsc::Services::IRscReadEnumerator< T >:
Inheritance graph

Public Types

typedef std::shared_ptr< IRscReadEnumeratorPtr
 

Public Member Functions

virtual size_t BeginRead (void)=0
 Begins the operation to read the enumerator. More...
 
virtual bool ReadNext (T &current)=0
 Reads the next enumerator element. More...
 
virtual bool ReadNext (RscArrayReader &current)=0
 Reads the next array enumerator element. Use this method only, if element contains object with an array. More...
 
virtual void EndRead (void)=0
 Ends the operation to read the enumerator. All enumerator elements had to be already been read. More...
 

Static Public Attributes

static constexpr size_t UndefinedArrayLength = std::numeric_limits<size_t>::max()
 

Protected Member Functions

 IRscReadEnumerator (void)=default
 Constructs an IRscArrayWriteEnumerator instance. More...
 
virtual ~IRscReadEnumerator (void)=default
 Destructs this instance and frees all resources. More...
 
 IRscReadEnumerator (const IRscReadEnumerator &arg)=default
 
IRscReadEnumeratoroperator= (const IRscReadEnumerator &arg)=default
 

Detailed Description

template<class T>
class Arp::System::Rsc::Services::IRscReadEnumerator< T >

Interface for reading an array or an enumerator. For regular enumerators UndefinedArrayLength is used.

Template Parameters
TType of enumerator element

Constructor & Destructor Documentation

◆ IRscReadEnumerator()

template<class T >
Arp::System::Rsc::Services::IRscReadEnumerator< T >::IRscReadEnumerator ( void  )
protecteddefault

Constructs an IRscArrayWriteEnumerator instance.

◆ ~IRscReadEnumerator()

template<class T >
virtual Arp::System::Rsc::Services::IRscReadEnumerator< T >::~IRscReadEnumerator ( void  )
protectedvirtualdefault

Destructs this instance and frees all resources.

Member Function Documentation

◆ BeginRead()

template<class T >
virtual size_t Arp::System::Rsc::Services::IRscReadEnumerator< T >::BeginRead ( void  )
pure virtual

Begins the operation to read the enumerator.

Returns
Number of elements for array enumerators. UndefinedArrayLength for regular enumerators

Implemented in Arp::System::Rsc::Services::RscReadEnumerator< T >, and Arp::System::Rsc::Services::RscImplReadEnumerator< T >.

◆ EndRead()

template<class T >
virtual void Arp::System::Rsc::Services::IRscReadEnumerator< T >::EndRead ( void  )
pure virtual

Ends the operation to read the enumerator. All enumerator elements had to be already been read.

Implemented in Arp::System::Rsc::Services::RscReadEnumerator< T >, and Arp::System::Rsc::Services::RscImplReadEnumerator< T >.

◆ ReadNext() [1/2]

template<class T >
virtual bool Arp::System::Rsc::Services::IRscReadEnumerator< T >::ReadNext ( RscArrayReader current)
pure virtual

Reads the next array enumerator element. Use this method only, if element contains object with an array.

Parameters
currentReference to RscArrayReader. The given RscArrayReader will be configured by this method.
Returns
true if valid element was read

Implemented in Arp::System::Rsc::Services::RscReadEnumerator< T >, and Arp::System::Rsc::Services::RscImplReadEnumerator< T >.

◆ ReadNext() [2/2]

template<class T >
virtual bool Arp::System::Rsc::Services::IRscReadEnumerator< T >::ReadNext ( T &  current)
pure virtual

Reads the next enumerator element.

Parameters
currentPlace to store next element
Returns
true if valid element was read

Implemented in Arp::System::Rsc::Services::RscReadEnumerator< T >, and Arp::System::Rsc::Services::RscImplReadEnumerator< T >.


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