update sqlitecpp & merge property settings into properties

Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
folling 2023-11-27 11:24:55 +01:00 committed by Folling
parent ff9bf0c14a
commit 88ca7769d1
Signed by: folling
SSH key fingerprint: SHA256:S9qEx5WCFFLK49tE/LKnKuJYM5sw+++Dn6qJbbyxnCY
39 changed files with 412 additions and 253 deletions

View file

@ -29,8 +29,12 @@ IKARUS_BEGIN_HEADER
///
/// Every property has settings which can be used to customise the property further.
/// Two settings that are shared among all properties are the following:
/// - Multiple
/// - Allow undefined
/// - List
/// - May be undefined
///
/// Additionally, each property has a default value. If no default value is provided, a sensible default is chosen.
/// Setting a default value that isn't valid for the property is an error. Changing settings so that the current default value
/// becomes invalid is valid but unsets the custom default value.
///
/// The former transforms a property into a list. Instead of one number, you could then specify a series of numbers.
/// The latter allows you to specify an "unknown" value for a property.
@ -43,6 +47,7 @@ IKARUS_BEGIN_HEADER
///
/// We call properties within entities "Entity Properties" and properties within blueprints "Blueprint Properties".
///
///
/// \remark Properties are scoped to the blueprint or entity they are associated with.
/// \remark Values for properties are lazily created as space saving measure.
/// Fetching the value for some property of some entity will return the property's default value if none is specified.
@ -65,17 +70,6 @@ IKA_API void ikarus_property_delete(IkarusProperty * property);
/// \remark Must be freed using #ikarus_free.
IKA_API IkarusPropertyType ikarus_property_get_type(IkarusProperty const * property);
/// \brief Gets the settings of a property.
/// \param property The property to get the settings of.
/// \pre \li Must not be null.
/// \pre \li Must exist.
/// \return The settings of the property or null if an error occurs.
/// \remark Must be freed using #ikarus_free.
IKA_API struct IkarusPropertySettings * ikarus_property_get_settings(IkarusProperty * property);
/// \see ikarus_property_get_settings
IKA_API struct IkarusPropertySettings const * ikarus_property_get_settings_const(IkarusProperty const * property);
/// \brief Gets the source of a property.
/// \param property The property to get the source of.
/// \pre \li Must not be null.