| 1234567891011121314151617181920212223242526272829 |
- //
- // forward.h
- // reflection
- //
- // Created by Sam Jaffe on 7/3/22.
- // Copyright © 2022 Sam Jaffe. All rights reserved.
- //
- #pragma once
- #include <functional>
- #include <map>
- #include <string>
- #include <type_traits>
- namespace reflection {
- class Object;
- template <typename Obj, typename = void> class Reflection;
- template <typename T> class Proxy;
- template <typename O, typename I> struct TypeConversion;
- template <typename Func> using Cache = std::map<std::string_view, Func>;
- template <typename Obj>
- using Accessor = std::function<Object(Obj &, std::string)>;
- template <typename Obj>
- using Getter = std::function<Object(Obj const &, std::string)>;
- }
- #define reflect(object) reflection::Object(object, #object)
|