Realm C++ SDK main@ea665a54a297dd13d7a3789dd5f5ea7317032c84
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members

realm::schemagen::schema< Class, Properties > Struct Template Reference

Public Types

using variant_t = typename unique_variant< std::variant<>, std::monostate, typename Properties::VariantResult... >::type
 
using PrimaryKeyProperty = decltype(primary_key())
 

Public Member Functions

template<size_t N, typename P >
constexpr auto apply_name (const std::tuple< Properties... > &tup, P &&prop)
 
constexpr auto apply_name (const std::tuple< Properties... > &tup)
 
constexpr schema (const char *name_, Properties &&... props)
 
constexpr schema (const char *name_, std::tuple< Properties... > &&props)
 
constexpr schema (const char *name_, ObjectType object_type, std::tuple< Properties... > &&props)
 
bool is_embedded () const
 
internal::bridge::object_schema to_core_schema () const
 
template<size_t N, typename P >
constexpr auto set (Class &object, P &property) const
 
template<size_t N, typename P >
constexpr variant_t property_value_for_name (std::string_view property_name, const Class &cls, P &property) const
 
template<size_t N, typename P >
constexpr variant_t property_value_for_name (std::string_view property_name, const managed< Class, void > &cls, P &property, bool excluding_collections=true) const
 
constexpr auto property_value_for_name (std::string_view property_name, const managed< Class, void > &cls, bool excluding_collections=true) const
 
constexpr auto property_value_for_name (std::string_view property_name, const Class &cls) const
 
template<size_t N, typename T , typename P >
constexpr const char * name_for_property (T ptr, P &property) const
 
template<auto ptr>
constexpr const char * name_for_property () const
 
template<typename T >
constexpr const char * name_for_property (T ptr) const
 

Static Public Member Functions

template<size_t N, typename P >
static constexpr auto primary_key (P &)
 
static constexpr auto primary_key ()
 

Public Attributes

const char * name
 
const char * names [sizeof...(Properties)] = {}
 
const char * primary_key_name = ""
 
std::tuple< Properties... > ps
 

Static Public Attributes

static constexpr std::tuple< Properties... > properties {}
 
static constexpr bool HasPrimaryKeyProperty = !std::is_void_v<PrimaryKeyProperty>
 

The documentation for this struct was generated from the following files: