8#include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx"
9#include "Arp/System/Commons/Exceptions/Exceptions.h"
11namespace Arp {
namespace System {
namespace Rsc {
namespace Services
22 typedef std::function<size_t()> BeginFunction;
23 typedef std::function<bool(T&)> NextFunction;
25 typedef std::function<void()> EndFunction;
88 return this->Next(current);
98 return this->NextArray(current);
This exception is used when a method call is invalid for object's current state.
Definition: InvalidOperationException.hpp:15
Interface for reading an array or an enumerator. For regular enumerators UndefinedArrayLength is used...
Definition: IRscReadEnumerator.hxx:21
Helper class to read an array of primtive types from an RscVariant. This class uses the array informa...
Definition: RscArrayReader.hpp:23
Implements IRscReadEnumeratorfor the service implementations. This should only be used in the impleme...
Definition: RscImplReadEnumerator.hxx:20
NextFunction Next
Write callback to ReadNext implementation of service method.
Definition: RscImplReadEnumerator.hxx:46
BeginFunction Begin
Read callback to BeginRead implementation of service method.
Definition: RscImplReadEnumerator.hxx:41
RscImplReadEnumerator(void)=default
Constructs an RscImplReadEnumerator instance.
EndFunction End
Write callback to EndRead implementation of service method.
Definition: RscImplReadEnumerator.hxx:56
RscImplReadEnumerator(const RscImplReadEnumerator &arg)=default
Copy constructor.
bool ReadNext(T &) override
Reads the next enumerator element.
Definition: RscImplReadEnumerator.hxx:82
void EndRead(void) override
Ends the operation to read the enumerator. All enumerator elements had to be already been read.
Definition: RscImplReadEnumerator.hxx:102
NextArrayFunction NextArray
Write callback to ReadNext implementation for array elements of service method.
Definition: RscImplReadEnumerator.hxx:51
size_t BeginRead(void) override
Begins the operation to read the enumerator.
Definition: RscImplReadEnumerator.hxx:72
~RscImplReadEnumerator(void)=default
Destructs this instance and frees all resources.
RscImplReadEnumerator & operator=(const RscImplReadEnumerator &arg)=default
Assignment operator.
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API