Zserio C++ runtime library  1.3.0
Built for Zserio 2.18.0
IWalkFilter.h
Go to the documentation of this file.
1 #ifndef ZSERIO_I_WALK_FILTER_H_INC
2 #define ZSERIO_I_WALK_FILTER_H_INC
3 
4 #include "zserio/IReflectable.h"
5 #include "zserio/ITypeInfo.h"
6 #include "zserio/Types.h"
7 #include "zserio/WalkerConst.h"
8 
9 namespace zserio
10 {
11 
15 template <typename ALLOC = std::allocator<uint8_t>>
17 {
18 public:
20  virtual ~IBasicWalkFilter() = default;
21 
33  virtual bool beforeArray(
34  const IBasicReflectableConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
35 
45  virtual bool afterArray(
46  const IBasicReflectableConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
47 
60  virtual bool beforeCompound(const IBasicReflectableConstPtr<ALLOC>& compound,
61  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
62 
72  virtual bool afterCompound(const IBasicReflectableConstPtr<ALLOC>& compound,
73  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
74 
84  virtual bool beforeValue(const IBasicReflectableConstPtr<ALLOC>& value,
85  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
86 
96  virtual bool afterValue(const IBasicReflectableConstPtr<ALLOC>& value,
97  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
98 };
99 
105 } // namespace zserio
106 
107 #endif // ZSERIO_I_WALK_FILTER_H_INC
virtual bool beforeCompound(const IBasicReflectableConstPtr< ALLOC > &compound, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual bool beforeArray(const IBasicReflectableConstPtr< ALLOC > &array, const BasicFieldInfo< ALLOC > &fieldInfo)=0
virtual bool beforeValue(const IBasicReflectableConstPtr< ALLOC > &value, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual ~IBasicWalkFilter()=default
virtual bool afterValue(const IBasicReflectableConstPtr< ALLOC > &value, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual bool afterCompound(const IBasicReflectableConstPtr< ALLOC > &compound, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual bool afterArray(const IBasicReflectableConstPtr< ALLOC > &array, const BasicFieldInfo< ALLOC > &fieldInfo)=0
typename IBasicReflectable< ALLOC >::ConstPtr IBasicReflectableConstPtr
Definition: IReflectable.h:535