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

Implementation of IRscReadEnumerator used on client side. More...

#include <RscReadEnumerator.hxx>

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

Public Member Functions

 RscReadEnumerator (RscReader &rscReader, bool isArrayEnumerator)
 Constructs an RscReadEnumerator instance. More...
 
 RscReadEnumerator (const RscReadEnumerator &arg)
 The default copy constructor. More...
 
 RscReadEnumerator (RscReadEnumerator &&arg) noexcept
 The default move constructor. More...
 
RscReadEnumeratoroperator= (const RscReadEnumerator &arg)
 The default copy-assignment operator. More...
 
RscReadEnumeratoroperator= (RscReadEnumerator &&arg) noexcept
 The default move-assignment operator. More...
 
 ~RscReadEnumerator (void) override
 Destructs this instance and checks if enumerations has ended. More...
 
size_t BeginRead (void) override
 This operation is called at the begin of reading the enumeration. More...
 
bool ReadNext (T &current) override
 Reads the next value of the enumeration. More...
 
bool ReadNext (RscArrayReader &current) override
 Reads the next array value of the enumeration. More...
 
void EndRead (void) override
 This operation has to be called when the enumerating has finished. More...
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscReadEnumerator< T >
 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.
 
- Static Public Attributes inherited from Arp::Base::Rsc::Commons::IRscReadEnumerator< T >
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.
 

Additional Inherited Members

- Public Types inherited from Arp::Base::Rsc::Commons::IRscReadEnumerator< T >
using Ptr = std::shared_ptr< IRscReadEnumerator >
 The pointer type of this type.
 

Detailed Description

template<class T>
class Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >

Implementation of IRscReadEnumerator used on client side.

Constructor & Destructor Documentation

◆ RscReadEnumerator() [1/3]

template<class T >
Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::RscReadEnumerator ( RscReader rscReader,
bool  isArrayEnumerator 
)
inline

Constructs an RscReadEnumerator instance.

Parameters
rscReaderThe Rsc reader to read the data.
isArrayEnumeratorDetermines if it's an standard or array enumeration.
Template Parameters
TThe enumerated type.

◆ RscReadEnumerator() [2/3]

template<class T >
Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::RscReadEnumerator ( const RscReadEnumerator< T > &  arg)
inlinedefault

The default copy constructor.

Template Parameters
TThe enumerated type.
Parameters
argThe argument to copy.

◆ RscReadEnumerator() [3/3]

template<class T >
Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::RscReadEnumerator ( RscReadEnumerator< T > &&  arg)
inlinedefaultnoexcept

The default move constructor.

Template Parameters
TThe enumerated type.
Parameters
argThe argument to move.

◆ ~RscReadEnumerator()

template<class T >
Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::~RscReadEnumerator ( void  )
inlineoverridedefault

Destructs this instance and checks if enumerations has ended.

Template Parameters
TThe enumerated type.

Member Function Documentation

◆ BeginRead()

template<class T >
size_t Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::BeginRead ( void  )
inlineoverridevirtual

This operation is called at the begin of reading the enumeration.

Returns
The number of elements of the enumeration to read.
Template Parameters
TThe enumerated type.

Implements Arp::Base::Rsc::Commons::IRscReadEnumerator< T >.

◆ EndRead()

template<class T >
void Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::EndRead ( void  )
inlineoverridevirtual

This operation has to be called when the enumerating has finished.

This operation checks if all values has been read.

Implements Arp::Base::Rsc::Commons::IRscReadEnumerator< T >.

◆ operator=() [1/2]

template<class T >
RscReadEnumerator< T > & Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::operator= ( const RscReadEnumerator< T > &  arg)
inlinedefault

The default copy-assignment operator.

Template Parameters
TThe enumerated type.
Parameters
argThe argument to assign.
Returns
This instance.

◆ operator=() [2/2]

template<class T >
RscReadEnumerator< T > & Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::operator= ( RscReadEnumerator< T > &&  arg)
inlinedefaultnoexcept

The default move-assignment operator.

Template Parameters
TThe enumerated type.
Parameters
argThe argument to assign.
Returns
This instance.

◆ ReadNext() [1/2]

template<class T >
bool Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::ReadNext ( RscArrayReader current)
inlineoverridevirtual

Reads the next array value of the enumeration.

Template Parameters
TThe enumerated type.
Parameters
currentThe array reader to read the current array value.
Returns
true if the array value could be read, otherwise false if the enumeration has ended.

Implements Arp::Base::Rsc::Commons::IRscReadEnumerator< T >.

◆ ReadNext() [2/2]

template<class T >
bool Arp::Base::Rsc::Commons::Services::RscReadEnumerator< T >::ReadNext ( T &  current)
inlineoverridevirtual

Reads the next value of the enumeration.

Template Parameters
TThe enumerated type.
Parameters
currentThe current value to read.
Returns
true if the value could be read, otherwise false if the enumeration has ended.

Implements Arp::Base::Rsc::Commons::IRscReadEnumerator< T >.


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