#pragma once #include #include #include #include #include #include "storage/model/properties/flags.hpp" #include "storage/model/properties/property_holder.hpp" class Null; // Property Class designated for creation outside the database. class Property : public PropertyHolder { public: using PropertyHolder::PropertyHolder; static Property handle(Void &&v); static Property handle(bool &&prop); static Property handle(float &&prop); static Property handle(double &&prop); static Property handle(int32_t &&prop); static Property handle(int64_t &&prop); static Property handle(std::string &&value); static Property handle(ArrayStore &&); static Property handle(ArrayStore &&); static Property handle(ArrayStore &&); static Property handle(ArrayStore &&); static Property handle(ArrayStore &&); static Property handle(ArrayStore &&); }; using properties_t = std::vector;