PLCnext API Documentation 25.0.2.69
Public Types | Public Member Functions | Static Public Attributes | List of all members
Arp::Base::Rsc::Commons::IRscReadEnumerator< T > Class Template Referenceabstract

Interface for reading a arrays or enumerations. More...

#include <IRscReadEnumerator.hxx>

Inheritance diagram for Arp::Base::Rsc::Commons::IRscReadEnumerator< T >:
Inheritance graph

Public Types

using Ptr = std::shared_ptr< IRscReadEnumerator >
 The pointer type of this type.
 

Public Member Functions

 IRscReadEnumerator (void)=default
 The default constructor.
 
 IRscReadEnumerator (const IRscReadEnumerator &arg)=delete
 The deleted copy constructor. More...
 
 IRscReadEnumerator (IRscReadEnumerator &&arg) noexcept=default
 The default move constructor. More...
 
IRscReadEnumeratoroperator= (const IRscReadEnumerator &arg)=delete
 The deleted assignment operator. More...
 
IRscReadEnumeratoroperator= (IRscReadEnumerator &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscReadEnumerator (void)=default
 Destructs this instance and frees all resources.
 
virtual size_t BeginRead (void)=0
 Begins to read the enumeration values. More...
 
virtual bool ReadNext (T &current)=0
 Reads the next enumeration value. More...
 
virtual bool ReadNext (RscArrayReader &current)=0
 Reads the next array object. Use this method only, if the current enumerated value contains an array object. More...
 
virtual void EndRead (void)=0
 Call this operation when all enumeration values has been read, to perform checks and cleanup. More...
 

Static Public Attributes

static constexpr size_t UndefinedArrayLength = std::numeric_limits<size_t>::max()
 This constant is used to determine that an enumeration is not an array enumeration and hence has an unknown length.
 

Detailed Description

template<class T>
class Arp::Base::Rsc::Commons::IRscReadEnumerator< T >

Interface for reading a arrays or enumerations.

Template Parameters
TType of enumeration elements.

Constructor & Destructor Documentation

◆ IRscReadEnumerator() [1/2]

template<class T >
Arp::Base::Rsc::Commons::IRscReadEnumerator< T >::IRscReadEnumerator ( const IRscReadEnumerator< T > &  arg)
delete

The deleted copy constructor.

Parameters
argThe argument to copy.

◆ IRscReadEnumerator() [2/2]

template<class T >
Arp::Base::Rsc::Commons::IRscReadEnumerator< T >::IRscReadEnumerator ( IRscReadEnumerator< T > &&  arg)
defaultnoexcept

The default move constructor.

Parameters
argThe argument to move.

Member Function Documentation

◆ BeginRead()

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

Begins to read the enumeration values.

Returns
The number of elements for array enumerators and UndefinedArrayLength for all other enumerators.

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

◆ EndRead()

template<class T >
virtual void Arp::Base::Rsc::Commons::IRscReadEnumerator< T >::EndRead ( void  )
pure virtual

Call this operation when all enumeration values has been read, to perform checks and cleanup.

This operation throws an exception, if not all values of the enumeration were read.

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

◆ operator=() [1/2]

template<class T >
IRscReadEnumerator & Arp::Base::Rsc::Commons::IRscReadEnumerator< T >::operator= ( const IRscReadEnumerator< T > &  arg)
delete

The deleted assignment operator.

Parameters
argThe argument to copy.
Returns
This instance.

◆ operator=() [2/2]

template<class T >
IRscReadEnumerator & Arp::Base::Rsc::Commons::IRscReadEnumerator< T >::operator= ( IRscReadEnumerator< T > &&  arg)
defaultnoexcept

The default move-assignment operator.

Parameters
argThe argument to move.
Returns
This instance.

◆ ReadNext() [1/2]

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

Reads the next array object. Use this method only, if the current enumerated value contains an array object.

Parameters
currentThe resulting RscArrayReader , which might be used to read the current array object.
Returns
true if the enumeration has not ended yet, and the current value is an array object, otherwise false.

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

◆ ReadNext() [2/2]

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

Reads the next enumeration value.

Parameters
currentThe next element which was read.
Returns
true if the next element could be read, otherwise false.

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


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