Zserio C++17 runtime library  0.5.0
Built for Zserio 2.17.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 
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 IBasicReflectableDataConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
34 
44  virtual bool afterArray(
45  const IBasicReflectableDataConstPtr<ALLOC>& array, const BasicFieldInfo<ALLOC>& fieldInfo) = 0;
46 
60  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
61 
72  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
73 
84  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
85 
96  const BasicFieldInfo<ALLOC>& fieldInfo, size_t elementIndex) = 0;
97 
100 };
101 
107 } // namespace zserio
108 
109 #endif // ZSERIO_I_WALK_FILTER_H_INC
virtual bool beforeArray(const IBasicReflectableDataConstPtr< ALLOC > &array, const BasicFieldInfo< ALLOC > &fieldInfo)=0
virtual bool beforeValue(const IBasicReflectableDataConstPtr< ALLOC > &value, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
Vector< BasicString< RebindAlloc< ALLOC, char > >, RebindAlloc< ALLOC, BasicString< RebindAlloc< ALLOC, char > >> > Path
Definition: IWalkFilter.h:99
virtual ~IBasicWalkFilter()=default
virtual bool afterValue(const IBasicReflectableDataConstPtr< ALLOC > &value, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual bool afterArray(const IBasicReflectableDataConstPtr< ALLOC > &array, const BasicFieldInfo< ALLOC > &fieldInfo)=0
virtual bool afterCompound(const IBasicReflectableDataConstPtr< ALLOC > &compound, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
virtual bool beforeCompound(const IBasicReflectableDataConstPtr< ALLOC > &compound, const BasicFieldInfo< ALLOC > &fieldInfo, size_t elementIndex)=0
typename IBasicReflectableData< ALLOC >::ConstPtr IBasicReflectableDataConstPtr
std::vector< T, ALLOC > Vector
Definition: Vector.h:13
typename std::allocator_traits< ALLOC >::template rebind_alloc< T > RebindAlloc
Definition: RebindAlloc.h:10