20 #ifndef GEODE_SERIALIZABLE_H_
21 #define GEODE_SERIALIZABLE_H_
27 #include "internal/geode_globals.hpp"
36 class PdxSerializable;
44 using TypeFactoryMethod = std::function<std::shared_ptr<Serializable>()>;
46 using TypeFactoryMethodPdx = std::function<std::shared_ptr<PdxSerializable>()>;
77 static std::shared_ptr<Serializable>
create(_T value);
80 inline static std::shared_ptr<Serializable> create(
81 const std::shared_ptr<_T>& value) {
96 #endif // GEODE_SERIALIZABLE_H_