LeviLamina
Loading...
Searching...
No Matches
MetaVisitor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace cereal {
6
7struct MetaVisitor {
8public:
9 // virtual functions
10 // NOLINTBEGIN
11 virtual ~MetaVisitor() = default;
12
13 virtual void log(::std::string msg) = 0;
14
15 virtual bool hasErrors() const = 0;
16
17 virtual void onSequenceContainer(uint64 index, ::std::function<void()> cb) = 0;
18
19 virtual void onAssociativeContainer(::std::string_view key, ::std::function<void()> cb) = 0;
20
21 virtual void onAssociativeContainer(uint64 index, ::std::function<void()> cb) = 0;
22
23 virtual void onSetter(::std::function<bool()> cb) = 0;
24
25 virtual void onMetaType(::std::function<bool()> setters, ::std::function<void()> members) = 0;
26
27 virtual void onMetaData(
28 ::std::string_view key,
29 uint id,
30 ::entt::meta_data data,
31 ::entt::meta_any from,
32 ::entt::meta_any to,
33 ::std::function<void(::entt::meta_data, ::entt::meta_any&, ::entt::meta_data, ::entt::meta_any&)> cb
34 ) = 0;
35 // NOLINTEND
36
37public:
38 // virtual function thunks
39 // NOLINTBEGIN
40
41 // NOLINTEND
42};
43
44} // namespace cereal
Definition MetaVisitor.h:7