virtual void readSerializableVariant(SerializableVariant& serializableVariant) = 0;
+ virtual char* readRawData(const size_t numBytesToRead) = 0;
+
virtual void beginReadBoolVector() = 0;
virtual void beginReadInt8Vector() = 0;
virtual void beginReadInt16Vector() = 0;
virtual void endWriteMap() = 0;
virtual void beginWriteMapElement() = 0;
virtual void endWriteMapElement() = 0;
+
+ virtual bool writeRawData(const char* rawDataPtr, const size_t sizeInByte) = 0;
};
}
private:
- inline bool hasValue() const {
- return valueType_ <= TypesTupleSize::value;
- }
template<typename _U>
void set( const _U& value, const bool clear);
template<typename _U>
void set( _U&& value, const bool clear);
- template<typename >
+ template<typename _FriendType>
friend struct TypeWriter;
template<typename ... _FriendTypes>
friend struct AssignmentVisitor;
template<class Variant, typename ... _FTypes>
friend struct ApplyVoidIndexVisitor;
+protected:
+ inline bool hasValue() const {
+ return valueType_ < TypesTupleSize::value;
+ }
uint8_t valueType_;
typename std::aligned_storage<maxSize>::type valueStorage_;
};