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

Interface for writing an array enumeration or enumeration of unspefied length. More...

#include <IRscWriteEnumerator.hxx>

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

Public Types

using Ptr = std::shared_ptr< IRscWriteEnumerator >
 The pointer type of this class.
 

Public Member Functions

 IRscWriteEnumerator (void)=default
 The default constructor.
 
 IRscWriteEnumerator (const IRscWriteEnumerator &arg)=delete
 The deleted copy constructor. More...
 
 IRscWriteEnumerator (IRscWriteEnumerator &&arg) noexcept=default
 The default move constructor. More...
 
IRscWriteEnumeratoroperator= (const IRscWriteEnumerator &arg)=delete
 The deleted assignment operator. More...
 
IRscWriteEnumeratoroperator= (IRscWriteEnumerator &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscWriteEnumerator (void)=default
 Destructs this instance and frees all resources.
 
virtual void BeginWrite (size_t size=UndefinedArrayLength)=0
 Begins the writing of the enumeration. More...
 
virtual void WriteNext (const T &current)=0
 Writes the next enumeration value. More...
 
virtual RscArrayWriter WriteNext (size_t arraySize, RscType elementType)=0
 Writes the next enumeration value if the value contains an array object. More...
 
virtual void EndWrite (void)=0
 Ends this enumerator while all values shall be written if this is an array enumeration. More...
 

Static Public Attributes

static constexpr size_t UndefinedArrayLength = std::numeric_limits<size_t>::max()
 Determines an undefined array length.
 

Detailed Description

template<class T>
class Arp::Base::Rsc::Commons::IRscWriteEnumerator< T >

Interface for writing an array enumeration or enumeration of unspefied length.

Template Parameters
TThe type of enumeration value.

Constructor & Destructor Documentation

◆ IRscWriteEnumerator() [1/2]

template<class T >
Arp::Base::Rsc::Commons::IRscWriteEnumerator< T >::IRscWriteEnumerator ( const IRscWriteEnumerator< T > &  arg)
delete

The deleted copy constructor.

Parameters
argThe argument to copy.

◆ IRscWriteEnumerator() [2/2]

template<class T >
Arp::Base::Rsc::Commons::IRscWriteEnumerator< T >::IRscWriteEnumerator ( IRscWriteEnumerator< T > &&  arg)
defaultnoexcept

The default move constructor.

Parameters
argThe argument to move.

Member Function Documentation

◆ BeginWrite()

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

Begins the writing of the enumeration.

Parameters
sizeNumber of elements in case of an array enumeration. The default parameter is used for regular enumerations.

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

◆ EndWrite()

template<class T >
virtual void Arp::Base::Rsc::Commons::IRscWriteEnumerator< T >::EndWrite ( void  )
pure virtual

Ends this enumerator while all values shall be written if this is an array enumeration.

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

◆ operator=() [1/2]

template<class T >
IRscWriteEnumerator & Arp::Base::Rsc::Commons::IRscWriteEnumerator< T >::operator= ( const IRscWriteEnumerator< T > &  arg)
delete

The deleted assignment operator.

Parameters
argThe argument to copy.
Returns
This instance.

◆ operator=() [2/2]

template<class T >
IRscWriteEnumerator & Arp::Base::Rsc::Commons::IRscWriteEnumerator< T >::operator= ( IRscWriteEnumerator< T > &&  arg)
defaultnoexcept

The default move-assignment operator.

Parameters
argThe argument to move.
Returns
This instance.

◆ WriteNext() [1/2]

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

Writes the next enumeration value.

Parameters
currentThe next value to write.

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

◆ WriteNext() [2/2]

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

Writes the next enumeration value if the value contains an array object.

Parameters
arraySizeThe number of array elements.
elementTypeThe RsyType of the array values.
Returns
A new configured RscArrayWriter to write the array values.

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


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