Zserio C++ runtime library  1.1.0
Built for Zserio 2.15.0
IWalkObserver.h
Go to the documentation of this file.
1 #ifndef ZSERIO_I_WALK_OBSERVER_H_INC
2 #define ZSERIO_I_WALK_OBSERVER_H_INC
3 
4 #include "zserio/IReflectable.h"
5 #include "zserio/ITypeInfo.h"
6 #include "zserio/WalkerConst.h"
7 
8 namespace zserio
9 {
10 
14 template <typename ALLOC = std::allocator<uint8_t>>
16 {
17 public:
19  virtual ~IBasicWalkObserver() = default;
20 
26  virtual void beginRoot(const IBasicReflectableConstPtr<ALLOC>& compound) = 0;
27 
33  virtual void endRoot(const IBasicReflectableConstPtr<ALLOC>& compound) = 0;
34 
44  virtual void beginArray(
45  const IBasicReflectableConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
46 
53  virtual void endArray(
54  const IBasicReflectableConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
55 
66  virtual void beginCompound(const IBasicReflectableConstPtr<ALLOC>& compound,
67  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
68 
76  virtual void endCompound(const IBasicReflectableConstPtr<ALLOC>& compound,
77  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
78 
86  virtual void visitValue(const IBasicReflectableConstPtr<ALLOC>& value,
87  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
88 };
89 
95 } // namespace zserio
96 
97 #endif // ZSERIO_I_WALK_OBSERVER_H_INC
virtual void visitValue(const IBasicReflectableConstPtr< ALLOC > &value, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual void beginArray(const IBasicReflectableConstPtr< ALLOC > &array, const BasicFieldInfo< ALLOC > &fieldInfo)=0
virtual void endArray(const IBasicReflectableConstPtr< ALLOC > &array, const BasicFieldInfo< ALLOC > &fieldInfo)=0
virtual ~IBasicWalkObserver()=default
virtual void endRoot(const IBasicReflectableConstPtr< ALLOC > &compound)=0
virtual void beginRoot(const IBasicReflectableConstPtr< ALLOC > &compound)=0
virtual void beginCompound(const IBasicReflectableConstPtr< ALLOC > &compound, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual void endCompound(const IBasicReflectableConstPtr< ALLOC > &compound, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
typename IBasicReflectable< ALLOC >::ConstPtr IBasicReflectableConstPtr
Definition: IReflectable.h:534