#pragma once #include "storage/model/properties/flags.hpp" #include "storage/model/properties/property_family.hpp" #include "storage/model/properties/property_holder.hpp" template using property_key = typename PropertyFamily::PropertyType::PropertyFamilyKey; // Property Class designated for creation outside the database. template class StoredProperty : public PropertyHolder> { // null property family const static class PropertyFamily null_family; public: // Needed for properties to return reference on stored property when they // don't cointain searched property. const static class StoredProperty null; using PropertyHolder>::PropertyHolder; template StoredProperty(PropertyFamily &family, P &&property); };