Zserio C++ runtime library  1.1.0
Built for Zserio 2.15.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/WalkerConst.h"
7 
8 namespace zserio
9 {
10 
14 template <typename ALLOC = std::allocator<uint8_t>>
16 {
17 public:
19  virtual ~IBasicWalkFilter() = default;
20 
32  virtual bool beforeArray(
33  const IBasicReflectableConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
34 
44  virtual bool afterArray(
45  const IBasicReflectableConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
46 
59  virtual bool beforeCompound(const IBasicReflectableConstPtr<ALLOC>& compound,
60  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
61 
71  virtual bool afterCompound(const IBasicReflectableConstPtr<ALLOC>& compound,
72  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
73 
83  virtual bool beforeValue(const IBasicReflectableConstPtr<ALLOC>& value,
84  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
85 
95  virtual bool afterValue(const IBasicReflectableConstPtr<ALLOC>& value,
96  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
97 };
98 
104 } // namespace zserio
105 
106 #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:534