1 #ifndef ZSERIO_I_REFLECTABLE_H_INC 2 #define ZSERIO_I_REFLECTABLE_H_INC 19 template <
typename ALLOC>
30 template <
typename ALLOC = std::allocator<u
int8_t>>
35 using Ptr = std::shared_ptr<IBasicReflectable>;
38 using ConstPtr = std::shared_ptr<const IBasicReflectable>;
57 virtual bool isArray()
const = 0;
113 virtual size_t bitSizeOf(
size_t bitPosition)
const = 0;
271 virtual size_t size()
const = 0;
296 virtual Ptr at(
size_t index) = 0;
357 virtual bool getBool()
const = 0;
365 virtual int8_t
getInt8()
const = 0;
373 virtual int16_t
getInt16()
const = 0;
381 virtual int32_t
getInt32()
const = 0;
389 virtual int64_t
getInt64()
const = 0;
397 virtual uint8_t
getUInt8()
const = 0;
471 virtual int64_t
toInt()
const = 0;
482 virtual uint64_t
toUInt()
const = 0;
492 virtual double toDouble()
const = 0;
515 template <
typename ALLOC = std::allocator<u
int8_t>>
518 template <
typename ALLOC = std::allocator<u
int8_t>>
537 template <
typename T,
typename ALLOC = std::allocator<u
int8_t>>
542 #endif // ZSERIO_I_REFLECTABLE_H_INC typename IBasicReflectable< ALLOC >::ConstPtr IBasicReflectableConstPtr
virtual uint64_t getUInt64() const =0
virtual int32_t getInt32() const =0
virtual void setAt(const AnyHolder< ALLOC > &value, size_t index)=0
virtual double getDouble() const =0
virtual Ptr createField(StringView name)=0
typename IBasicReflectable< ALLOC >::Ptr IBasicReflectablePtr
virtual ConstPtr find(StringView path) const =0
virtual void append(const AnyHolder< ALLOC > &value)=0
virtual void resize(size_t size)=0
IBasicReflectablePtr<> IReflectablePtr
virtual AnyHolder< ALLOC > getAnyValue() const =0
virtual uint8_t getUInt8() const =0
virtual int64_t getInt64() const =0
virtual void initialize(const vector< AnyHolder< ALLOC >, ALLOC > &typeArguments)=0
virtual bool isArray() const =0
virtual ConstPtr at(size_t index) const =0
virtual double toDouble() const =0
virtual uint16_t getUInt16() const =0
virtual uint32_t getUInt32() const =0
virtual int8_t getInt8() const =0
virtual void write(BitStreamWriter &writer) const =0
std::shared_ptr< const IBasicReflectable > ConstPtr
virtual void setField(StringView name, const AnyHolder< ALLOC > &value)=0
virtual StringView getChoice() const =0
virtual const IBasicTypeInfo< ALLOC > & getTypeInfo() const =0
virtual Span< const uint8_t > getBytes() const =0
virtual ConstPtr operator[](StringView path) const =0
std::vector< T, RebindAlloc< ALLOC, T >> vector
IBasicReflectablePtr< ALLOC > enumReflectable(T value, const ALLOC &allocator=ALLOC())
virtual const BasicBitBuffer< ALLOC > & getBitBuffer() const =0
virtual size_t initializeOffsets()=0
virtual string< ALLOC > toString() const =0
virtual size_t size() const =0
virtual size_t bitSizeOf() const =0
virtual ~IBasicReflectable()=default
std::basic_string< char, std::char_traits< char >, RebindAlloc< ALLOC, char >> string
virtual ConstPtr callFunction(StringView name) const =0
virtual int64_t toInt() const =0
virtual float getFloat() const =0
virtual bool getBool() const =0
virtual ConstPtr getParameter(StringView name) const =0
virtual ConstPtr getField(StringView name) const =0
std::shared_ptr< IBasicReflectable > Ptr
virtual uint64_t toUInt() const =0
virtual StringView getStringView() const =0
virtual void initializeChildren()=0
IBasicReflectableConstPtr<> IReflectableConstPtr
virtual int16_t getInt16() const =0