8#include "Arp/Base/Rsc/Commons/RscType.hpp"
10namespace Arp::Base::Rsc::Commons
22 using Ptr = std::shared_ptr<IRscWriteEnumerator>;
Interface for writing an array enumeration or enumeration of unspefied length.
Definition: IRscWriteEnumerator.hxx:20
static constexpr size_t UndefinedArrayLength
Determines an undefined array length.
Definition: IRscWriteEnumerator.hxx:64
virtual ~IRscWriteEnumerator(void)=default
Destructs this instance and frees all resources.
std::shared_ptr< IRscWriteEnumerator > Ptr
The pointer type of this class.
Definition: IRscWriteEnumerator.hxx:22
virtual RscArrayWriter WriteNext(size_t arraySize, RscType elementType)=0
Writes the next enumeration value if the value contains an array object.
virtual void BeginWrite(size_t size=UndefinedArrayLength)=0
Begins the writing of the enumeration.
IRscWriteEnumerator(IRscWriteEnumerator &&arg) noexcept=default
The default move constructor.
virtual void EndWrite(void)=0
Ends this enumerator while all values shall be written if this is an array enumeration.
IRscWriteEnumerator(void)=default
The default constructor.
IRscWriteEnumerator & operator=(IRscWriteEnumerator &&arg) noexcept=default
The default move-assignment operator.
IRscWriteEnumerator & operator=(const IRscWriteEnumerator &arg)=delete
The deleted assignment operator.
IRscWriteEnumerator(const IRscWriteEnumerator &arg)=delete
The deleted copy constructor.
virtual void WriteNext(const T ¤t)=0
Writes the next enumeration value.
Helper class to write a dynamic array of primtive types from RscVariant. This class uses the array in...
Definition: RscArrayWriter.hpp:23