8#include "Arp/Base/Rsc/Commons/RscVariant.hxx"
9#include "Arp/Base/Rsc/Commons/RscArrayReader.hpp"
10#include "Arp/Base/Rsc/Commons/RscStructReader.hpp"
11namespace Arp::Base::Rsc::Commons::Services
29 static void SkipArray(RscType elementType,
RscArrayReader& arrayReader);
43 if (value.
GetType() == RscType::Array)
48 else if (value.
GetType() == RscType::Struct)
51 SkipStruct<N>(structReader);
59inline void RscSkipper::SkipArray(RscType elementType,
RscArrayReader& arrayReader)
61 for (
size_t i = 0; i < arrayReader.
GetSize(); i++)
68 else if (elementType == RscType::Struct)
71 SkipStruct<N>(structReader);
84inline void RscSkipper::SkipStruct(RscStructReader& structReader)
86 for (
size_t i = 0; i < structReader.GetFieldCount(); i++)
89 structReader.ReadNextField(temp);
Utility class to read an array of primitive types from RscVariant. This class uses the array informat...
Definition: RscArrayReader.hpp:22
void ReadNext(T ¤t)
Reads the next array value using the supplied callback function given by ArrayInformation of RscVaria...
Definition: RscArrayReader.hpp:86
size_t GetSize(void) const
Returns the number of values contained in the array.
Definition: RscArrayReader.cpp:96
RscType GetElementType(void) const
Returns the value type of the array elements.
Definition: RscArrayReader.cpp:103
RscArrayReader ReadNextArray(void)
Reads the next subarray of arrays with more than one dimension. The next subarray is read using a new...
Definition: RscArrayReader.cpp:134
size_t GetDimensions(void) const
Gets the count of the array dimensions.
Definition: RscArrayReader.cpp:110
RscStructReader ReadNextStruct(void)
Reads the next struct element.
Definition: RscArrayReader.hpp:145
Utility class to read dynamic structs.
Definition: RscStructReader.hpp:30
RscType GetType(void) const
Gets the RscType of the contained element
Definition: RscVariantBase.cpp:290
Rsc class for variant data types like primitive data type, strings or information about arrays or str...
Definition: RscVariant.hxx:57
Pure static class to skip remaining data from remoting stream.
Definition: RscSkipper.hpp:19
RscSkipper(void)=delete
Makes this class pure static.
static void Skip(const RscVariant< N > &value)
Skips the remaining data of the variant value from remoting stream, if it's an array or struct.
Definition: RscSkipper.hpp:41