PLCnext API Documentation 23.6.0.37
Public Types | Public Member Functions | Public Attributes | List of all members
Arp::System::Rsc::Services::RscImplWriteEnumerator< T > Class Template Reference

Implements IRscWriteEnumerator for the service implementations. This should only be used in the implementation. The write callbacks have to be implemented and set by the service. More...

#include <RscImplWriteEnumerator.hxx>

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

Public Types

typedef std::function< void(size_t)> BeginFunction
 
typedef std::function< void(const T &)> NextFunction
 
typedef std::function< RscArrayWriter(size_t, RscType)> NextArrayFunction
 
typedef std::function< void()> EndFunction
 
- Public Types inherited from Arp::System::Rsc::Services::IRscWriteEnumerator< T >
typedef std::shared_ptr< IRscWriteEnumeratorPtr
 

Public Member Functions

 RscImplWriteEnumerator (void)=default
 Constructs an RscProxyArrayWriteEnumerator instance.
 
 RscImplWriteEnumerator (const RscImplWriteEnumerator &arg)=default
 Copy constructor.
 
RscImplWriteEnumeratoroperator= (const RscImplWriteEnumerator &arg)=default
 Assignment operator.
 
 ~RscImplWriteEnumerator (void)=default
 Destructs this instance and frees all resources.
 
void BeginWrite (size_t) override
 Begins the operation to write the enumerator. More...
 
void WriteNext (const T &) override
 Writes the next enumerator element. More...
 
RscArrayWriter WriteNext (size_t arraySize, RscType elementType) override
 Writes the next enumerator element if the element contains an array object. More...
 
void EndWrite (void) override
 Ends the enumerator. With an array enumerator all enumerator elements had to be written More...
 
virtual void BeginWrite (size_t size=UndefinedArrayLength)=0
 Begins the operation to write the enumerator. More...
 
virtual void WriteNext (const T &current)=0
 Writes the next enumerator element. More...
 
virtual RscArrayWriter WriteNext (size_t arraySize, RscType elementType)=0
 Writes the next enumerator element if the element contains an array object. More...
 
virtual void EndWrite (void)=0
 Ends the enumerator. With an array enumerator all enumerator elements had to be written More...
 

Public Attributes

BeginFunction Begin
 Write callback to BeginWrite implementation of service method.
 
NextFunction Next
 Write callback to WriteNext implementation of service method.
 
NextArrayFunction NextArray
 Write callback to WriteNext implementation for array elements of service method.
 
EndFunction End
 Write callback to EndWrite implementation of service method.
 

Additional Inherited Members

- Static Public Attributes inherited from Arp::System::Rsc::Services::IRscWriteEnumerator< T >
static constexpr size_t UndefinedArrayLength = std::numeric_limits<size_t>::max()
 
- Protected Member Functions inherited from Arp::System::Rsc::Services::IRscWriteEnumerator< T >
 IRscWriteEnumerator (void)=default
 Constructs an IRscArrayWriteEnumerator instance.
 
virtual ~IRscWriteEnumerator (void)=default
 Destructs this instance and frees all resources.
 
 IRscWriteEnumerator (const IRscWriteEnumerator &arg)=default
 
IRscWriteEnumeratoroperator= (const IRscWriteEnumerator &arg)=default
 

Detailed Description

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

Implements IRscWriteEnumerator for the service implementations. This should only be used in the implementation. The write callbacks have to be implemented and set by the service.

Member Function Documentation

◆ BeginWrite()

template<class T >
void Arp::System::Rsc::Services::RscImplWriteEnumerator< T >::BeginWrite ( size_t  size)
inlineoverridevirtual

Begins the operation to write the enumerator.

Parameters
sizeNumber of elements in case of array enumerator. UndefinedArrayLength for regular enumerators

Implements Arp::System::Rsc::Services::IRscWriteEnumerator< T >.

◆ EndWrite()

template<class T >
void Arp::System::Rsc::Services::RscImplWriteEnumerator< T >::EndWrite ( void  )
inlineoverridevirtual

Ends the enumerator. With an array enumerator all enumerator elements had to be written

Implements Arp::System::Rsc::Services::IRscWriteEnumerator< T >.

◆ WriteNext() [1/2]

template<class T >
void Arp::System::Rsc::Services::RscImplWriteEnumerator< T >::WriteNext ( const T &  current)
inlineoverridevirtual

Writes the next enumerator element.

Parameters
currentReference to the next element

Implements Arp::System::Rsc::Services::IRscWriteEnumerator< T >.

◆ WriteNext() [2/2]

template<class T >
RscArrayWriter Arp::System::Rsc::Services::RscImplWriteEnumerator< T >::WriteNext ( size_t  arraySize,
RscType  elementType 
)
inlineoverridevirtual

Writes the next enumerator element if the element contains an array object.

Parameters
arraySizeNumber of array elements
arrayElementTypeRsyType of array elements
Returns
Configured RscArrayWriter to write array elements

Implements Arp::System::Rsc::Services::IRscWriteEnumerator< T >.


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