PLCnext API Documentation  22.9.0.33
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. More...
 
 RscImplWriteEnumerator (const RscImplWriteEnumerator &arg)=default
 Copy constructor. More...
 
RscImplWriteEnumeratoroperator= (const RscImplWriteEnumerator &arg)=default
 Assignment operator. More...
 
 ~RscImplWriteEnumerator (void)=default
 Destructs this instance and frees all resources. More...
 
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...
 

Public Attributes

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

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. More...
 
virtual ~IRscWriteEnumerator (void)=default
 Destructs this instance and frees all resources. More...
 
 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.

Constructor & Destructor Documentation

◆ RscImplWriteEnumerator() [1/2]

Constructs an RscProxyArrayWriteEnumerator instance.

◆ RscImplWriteEnumerator() [2/2]

Copy constructor.

◆ ~RscImplWriteEnumerator()

template<class T >
Arp::System::Rsc::Services::RscImplWriteEnumerator< T >::~RscImplWriteEnumerator ( void  )
default

Destructs this instance and frees all resources.

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 >.

◆ operator=()

template<class T >
RscImplWriteEnumerator& Arp::System::Rsc::Services::RscImplWriteEnumerator< T >::operator= ( const RscImplWriteEnumerator< T > &  arg)
default

Assignment operator.

◆ 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 >.

Member Data Documentation

◆ Begin

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

Write callback to BeginWrite implementation of service method.

◆ End

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

Write callback to EndWrite implementation of service method.

◆ Next

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

Write callback to WriteNext implementation of service method.

◆ NextArray

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

Write callback to WriteNext implementation for array elements of service method.


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