PLCnext API Documentation  22.9.0.33
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Arp::System::Rsc::Services::IRscWriteEnumerator< T > Class Template Referenceabstract

Interface for writing an array or an enumerator. For regular enumerators UndefinedArrayLength is used. More...

#include <IRscWriteEnumerator.hxx>

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

Public Types

typedef std::shared_ptr< IRscWriteEnumeratorPtr
 

Public Member Functions

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

Static Public Attributes

static constexpr size_t UndefinedArrayLength = std::numeric_limits<size_t>::max()
 

Protected Member Functions

 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::IRscWriteEnumerator< T >

Interface for writing an array or an enumerator. For regular enumerators UndefinedArrayLength is used.

Template Parameters
TType of enumerator element

Constructor & Destructor Documentation

◆ IRscWriteEnumerator()

template<class T >
Arp::System::Rsc::Services::IRscWriteEnumerator< T >::IRscWriteEnumerator ( void  )
protecteddefault

Constructs an IRscArrayWriteEnumerator instance.

◆ ~IRscWriteEnumerator()

template<class T >
virtual Arp::System::Rsc::Services::IRscWriteEnumerator< T >::~IRscWriteEnumerator ( void  )
protectedvirtualdefault

Destructs this instance and frees all resources.

Member Function Documentation

◆ BeginWrite()

template<class T >
virtual void Arp::System::Rsc::Services::IRscWriteEnumerator< T >::BeginWrite ( size_t  size = UndefinedArrayLength)
pure virtual

Begins the operation to write the enumerator.

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

Implemented in Arp::System::Rsc::Services::RscImplWriteEnumerator< T >, and Arp::System::Rsc::Services::RscWriteEnumerator< T >.

◆ EndWrite()

template<class T >
virtual void Arp::System::Rsc::Services::IRscWriteEnumerator< T >::EndWrite ( void  )
pure virtual

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

Implemented in Arp::System::Rsc::Services::RscWriteEnumerator< T >, and Arp::System::Rsc::Services::RscImplWriteEnumerator< T >.

◆ WriteNext() [1/2]

template<class T >
virtual void Arp::System::Rsc::Services::IRscWriteEnumerator< T >::WriteNext ( const T &  current)
pure virtual

Writes the next enumerator element.

Parameters
currentReference to the next element

Implemented in Arp::System::Rsc::Services::RscWriteEnumerator< T >, and Arp::System::Rsc::Services::RscImplWriteEnumerator< T >.

◆ WriteNext() [2/2]

template<class T >
virtual RscArrayWriter Arp::System::Rsc::Services::IRscWriteEnumerator< T >::WriteNext ( size_t  arraySize,
RscType  elementType 
)
pure virtual

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

Implemented in Arp::System::Rsc::Services::RscImplWriteEnumerator< T >, and Arp::System::Rsc::Services::RscWriteEnumerator< T >.


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