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>;
271 virtual size_t size()
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>>
virtual double getDouble() const =0
virtual Ptr callFunction(StringView name)=0
virtual Span< const uint8_t > getBytes() const =0
virtual string< ALLOC > toString() const =0
virtual void write(BitStreamWriter &writer) const =0
virtual Ptr getParameter(StringView name)=0
virtual size_t bitSizeOf(size_t bitPosition) const =0
virtual StringView getStringView() const =0
virtual void initialize(const vector< AnyHolder< ALLOC >, ALLOC > &typeArguments)=0
virtual ConstPtr getParameter(StringView name) const =0
virtual AnyHolder< ALLOC > getAnyValue(const ALLOC &allocator)=0
virtual int8_t getInt8() const =0
virtual bool isArray() const =0
virtual Ptr find(StringView path)=0
virtual bool getBool() const =0
virtual AnyHolder< ALLOC > getAnyValue() const =0
virtual void resize(size_t size)=0
virtual void setAt(const AnyHolder< ALLOC > &value, size_t index)=0
virtual AnyHolder< ALLOC > getAnyValue(const ALLOC &allocator) const =0
std::shared_ptr< const IBasicReflectable > ConstPtr
virtual Ptr getField(StringView name)=0
virtual Ptr operator[](size_t index)=0
virtual int16_t getInt16() const =0
virtual size_t size() const =0
virtual size_t initializeOffsets()=0
virtual const IBasicTypeInfo< ALLOC > & getTypeInfo() const =0
virtual Ptr createField(StringView name)=0
virtual double toDouble() const =0
virtual void setField(StringView name, const AnyHolder< ALLOC > &value)=0
virtual AnyHolder< ALLOC > getAnyValue()=0
virtual ConstPtr operator[](StringView path) const =0
virtual ConstPtr at(size_t index) const =0
virtual uint64_t toUInt() const =0
virtual void append(const AnyHolder< ALLOC > &value)=0
virtual uint32_t getUInt32() const =0
virtual float getFloat() const =0
virtual Ptr at(size_t index)=0
virtual Ptr operator[](StringView path)=0
virtual int32_t getInt32() const =0
virtual int64_t getInt64() const =0
virtual ~IBasicReflectable()=default
virtual uint8_t getUInt8() const =0
virtual ConstPtr getField(StringView name) const =0
virtual uint64_t getUInt64() const =0
virtual size_t initializeOffsets(size_t bitPosition)=0
virtual string< ALLOC > toString(const ALLOC &allocator) const =0
virtual ConstPtr find(StringView path) const =0
virtual StringView getChoice() const =0
virtual const BasicBitBuffer< ALLOC > & getBitBuffer() const =0
std::shared_ptr< IBasicReflectable > Ptr
virtual uint16_t getUInt16() const =0
virtual void initializeChildren()=0
virtual ConstPtr callFunction(StringView name) const =0
virtual int64_t toInt() const =0
virtual ConstPtr operator[](size_t index) const =0
virtual size_t bitSizeOf() const =0
IBasicReflectablePtr<> IReflectablePtr
std::basic_string< char, std::char_traits< char >, RebindAlloc< ALLOC, char > > string
std::vector< T, RebindAlloc< ALLOC, T > > vector
IBasicReflectablePtr< ALLOC > enumReflectable(T value, const ALLOC &allocator=ALLOC())
IBasicReflectableConstPtr<> IReflectableConstPtr
typename IBasicReflectable< ALLOC >::Ptr IBasicReflectablePtr
typename IBasicReflectable< ALLOC >::ConstPtr IBasicReflectableConstPtr