From eab9bafe7bda30c032e17c0a82956b537ac92b1a Mon Sep 17 00:00:00 2001 From: Folling Date: Thu, 28 Dec 2023 16:52:05 +0100 Subject: [PATCH] change clang-format Signed-off-by: Folling --- .clang-format | 65 +++++++++++-------- include/ikarus/errors.h | 8 +-- include/ikarus/global.h | 4 +- include/ikarus/objects/blueprint.h | 10 ++- include/ikarus/objects/entity.h | 26 +++++--- include/ikarus/objects/object.h | 7 +- .../objects/properties/number_property.h | 13 ++-- include/ikarus/objects/properties/property.h | 4 +- .../ikarus/objects/properties/text_property.h | 13 ++-- .../objects/properties/toggle_property.h | 13 ++-- include/ikarus/persistence/project.h | 9 +-- include/ikarus/values/value.h | 4 +- src/objects/blueprint.cpp | 29 +++++---- src/objects/blueprint.hpp | 8 +-- src/objects/entity.hpp | 8 +-- src/objects/object.hpp | 8 +-- src/objects/properties/property.cpp | 61 +++++++---------- src/objects/properties/property.hpp | 17 +++-- src/objects/properties/property_source.hpp | 8 +-- src/objects/properties/toggle_property.cpp | 7 +- src/objects/util.hpp | 29 +++++---- src/persistence/function_context.hpp | 14 ++-- src/persistence/project.cpp | 5 +- src/persistence/project.hpp | 6 +- src/values/number_value.cpp | 2 +- src/values/number_value.hpp | 11 ++-- src/values/text_value.cpp | 2 +- src/values/text_value.hpp | 11 ++-- src/values/toggle_value.cpp | 2 +- src/values/toggle_value.hpp | 11 ++-- src/values/value.cpp | 11 ++-- src/values/value.hpp | 10 +-- src/values/value_base.hpp | 35 ++++------ 33 files changed, 217 insertions(+), 254 deletions(-) diff --git a/.clang-format b/.clang-format index 23c71e6..a600edb 100644 --- a/.clang-format +++ b/.clang-format @@ -15,8 +15,8 @@ AlignEscapedNewlines: Left AlignOperands: Align AlignTrailingComments: true -AllowAllArgumentsOnNextLine: true -AllowAllParametersOfDeclarationOnNextLine: true +AllowAllArgumentsOnNextLine: false +AllowAllParametersOfDeclarationOnNextLine: false AllowShortBlocksOnASingleLine: Empty AllowShortCaseLabelsOnASingleLine: true AllowShortEnumsOnASingleLine: true @@ -35,36 +35,38 @@ BinPackParameters: false BitFieldColonSpacing: Both BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: Never + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false BeforeCatch: false BeforeElse: false BeforeLambdaBody: false BeforeWhile: false - AfterCaseLabel: false - AfterClass: false - AfterControlStatement: MultiLine - AfterEnum: false - AfterExternBlock: false - AfterFunction: false - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: false - AfterUnion: false IndentBraces: false SplitEmptyFunction: false SplitEmptyNamespace: false SplitEmptyRecord: false +BracedInitializerIndentWidth: 4 + +# BreakAdjacentStringLiterals: true BreakAfterAttributes: Never BreakBeforeBinaryOperators: None -BreakBeforeBraces: Attach +BreakBeforeBraces: Custom BreakBeforeConceptDeclarations: Always -# BreakBeforeInlineASMColon: OnlyMultiline +BreakBeforeInlineASMColon: OnlyMultiline BreakBeforeTernaryOperators: false BreakConstructorInitializers: AfterColon BreakInheritanceList: AfterColon BreakStringLiterals: false -ColumnLimit: 128 +ColumnLimit: 140 CompactNamespaces: false ConstructorInitializerIndentWidth: 4 @@ -77,7 +79,9 @@ DerivePointerAlignment: false EmptyLineAfterAccessModifier: Never EmptyLineBeforeAccessModifier: Always -FixNamespaceComments: false +ExperimentalAutoDetectBinPacking: true + +FixNamespaceComments: true IncludeBlocks: Regroup IncludeCategories: @@ -112,54 +116,59 @@ IndentAccessModifiers: false IndentCaseBlocks: false IndentCaseLabels: false IndentExternBlock: NoIndent -IndentGotoLabels: true +IndentGotoLabels: false IndentPPDirectives: None IndentRequiresClause: true IndentWidth: 4 IndentWrappedFunctionNames: false InsertBraces: true InsertNewlineAtEOF: true +InsertTrailingCommas: Wrapped -# InsertNewlineAtEOF: true -# IntegerLiteralSeparator: -# Binary: 0 -# Decimal: 3 -# Hex: -1 +IntegerLiteralSeparator: + Binary: -1 + Decimal: 3 + Hex: -1 +KeepEmptyLinesAtEOF: false KeepEmptyLinesAtTheStartOfBlocks: false LambdaBodyIndentation: Signature Language: Cpp -# LineEnding: LF +LineEnding: LF MaxEmptyLinesToKeep: 1 NamespaceIndentation: None +PPIndentWidth: -1 PackConstructorInitializers: Never PointerAlignment: Middle QualifierAlignment: Right # QualifierOrder: [ 'friend', 'constexpr', 'inline', 'static', 'type', 'const', 'volatile' ] -ReferenceAlignment: Left +ReferenceAlignment: Middle ReflowComments: true -# RemoveSemicolon: true +RemoveBracesLLVM: false +RemoveParentheses: MultipleParentheses +RemoveSemicolon: true RequiresClausePosition: OwnLine -# RequiresExpressionIndentation: OuterScope +RequiresExpressionIndentation: OuterScope SeparateDefinitionBlocks: Always SortIncludes: CaseInsensitive -SortUsingDeclarations: true +SortUsingDeclarations: LexicographicNumeric SpaceAfterCStyleCast: false SpaceAfterLogicalNot: false SpaceAfterTemplateKeyword: false - +SpaceAroundPointerQualifiers: Both SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false SpaceBeforeCpp11BracedList: false SpaceBeforeCtorInitializerColon: false SpaceBeforeInheritanceColon: true diff --git a/include/ikarus/errors.h b/include/ikarus/errors.h index 9dc876d..3218d74 100644 --- a/include/ikarus/errors.h +++ b/include/ikarus/errors.h @@ -15,10 +15,10 @@ IKARUS_BEGIN_HEADER /// \brief Delineates what caused an error. -/// \details First 2 bytes delineate the major type, next 2 bytes delineate the minor type, next 4 bytes delineate the detail -/// type. -/// \remark Note that this doesn't show responsibility. An error with source "SubSystem" could still be the fault of -/// libikarus. +/// \details First 2 bytes delineate the major type, next 2 bytes delineate the minor type, next 4 bytes delineate the +/// detail type. +/// \remark Note that this doesn't show responsibility. An error with source "SubSystem" could still be the +/// fault of libikarus. enum IkarusErrorInfo { /// \brief No error occurred. IkarusErrorInfo_Source_None = 0x0001000000000000, diff --git a/include/ikarus/global.h b/include/ikarus/global.h index bf9e5d5..4665863 100644 --- a/include/ikarus/global.h +++ b/include/ikarus/global.h @@ -11,8 +11,8 @@ IKARUS_BEGIN_HEADER -/// \brief Frees a pointer allocated by ikarus. Every pointer returned by a function must be freed using this function unless -/// explicitly stated otherwise. +/// \brief Frees a pointer allocated by ikarus. Every pointer returned by a function must be freed using this function +/// unless explicitly stated otherwise. IKA_API void ikarus_free(void * ptr); IKARUS_END_HEADER diff --git a/include/ikarus/objects/blueprint.h b/include/ikarus/objects/blueprint.h index ce83160..2163e6f 100644 --- a/include/ikarus/objects/blueprint.h +++ b/include/ikarus/objects/blueprint.h @@ -43,9 +43,8 @@ IKA_API void ikarus_blueprint_delete(IkarusBlueprint * blueprint); /// \pre \li Must not be null. /// \param properties_out_size The size of the buffer. /// \see ikarus_blueprint_get_property_count -IKA_API void ikarus_blueprint_get_properties( - IkarusBlueprint const * blueprint, struct IkarusProperty ** properties_out, size_t properties_out_size -); +IKA_API void +ikarus_blueprint_get_properties(IkarusBlueprint const * blueprint, struct IkarusProperty ** properties_out, size_t properties_out_size); /// \brief Gets the number of properties of a blueprint. /// \param blueprint The blueprint to get the number of properties of. @@ -62,9 +61,8 @@ IKA_API size_t ikarus_blueprint_get_property_count(IkarusBlueprint const * bluep /// \pre \li Must not be null. /// \param entities_out_size The size of the buffer. /// \see ikarus_blueprint_get_linked_entity_count -IKA_API void ikarus_blueprint_get_linked_entities( - IkarusBlueprint const * blueprint, struct IkarusEntity ** entities_out, size_t entities_out_size -); +IKA_API void +ikarus_blueprint_get_linked_entities(IkarusBlueprint const * blueprint, struct IkarusEntity ** entities_out, size_t entities_out_size); /// \brief Gets the number of entities linked to a blueprint. /// \param blueprint The blueprint to get the number of linked entities of. diff --git a/include/ikarus/objects/entity.h b/include/ikarus/objects/entity.h index 782452e..3e38e25 100644 --- a/include/ikarus/objects/entity.h +++ b/include/ikarus/objects/entity.h @@ -56,6 +56,14 @@ IKA_API IkarusEntity * ikarus_entity_create(struct IkarusProject * project, char /// \remark The entity must not be accessed after deletion. IKA_API void ikarus_entity_delete(IkarusEntity * entity); +/// \brief Checks if an entity is linked to a blueprint. +/// \param entity The entity to check. +/// \pre \li Must not be null. +/// \pre \li Must exist. +/// \param blueprint The blueprint to check. +/// \pre \li Must not be null. +/// \pre \li Must exist. +/// \return True if the entity is linked to the blueprint, false otherwise. IKA_API bool ikarus_entity_is_linked_to_blueprint(IkarusEntity const * entity, struct IkarusBlueprint const * blueprint); /// \brief Links an entity to a blueprint. @@ -68,8 +76,8 @@ IKA_API bool ikarus_entity_is_linked_to_blueprint(IkarusEntity const * entity, s /// \remark No-op if the entity is already linked to the blueprint. IKA_API void ikarus_entity_link_to_blueprint(IkarusEntity * entity, struct IkarusBlueprint * blueprint); -/// \brief Unlinks an entity from a blueprint. All values of the properties of the blueprint the entity is linked with will be -/// deleted. +/// \brief Unlinks an entity from a blueprint. All values of the properties of the blueprint the entity is linked with +/// will be deleted. /// \param entity The entity to unlink. /// \pre \li Must not be null. /// \pre \li Must exist. @@ -103,12 +111,11 @@ IKA_API size_t ikarus_entity_get_property_count(IkarusEntity const * entity); /// \param properties_out The buffer to write the properties to. /// \pre \li Must not be null. /// \param properties_out_size The size of the buffer. -IKA_API void ikarus_entity_get_properties( - IkarusEntity const * entity, struct IkarusProperty ** properties_out, size_t properties_out_size -); +IKA_API void ikarus_entity_get_properties(IkarusEntity const * entity, struct IkarusProperty ** properties_out, size_t properties_out_size); /// \brief Gets the value of a property of an entity. -/// \details If the entity has never set the value of the property, the default value is returned (which may be undefined). +/// \details If the entity has never set the value of the property, the default value is returned (which may be +/// undefined). /// \param entity The entity to get the value of. /// \pre \li Must not be null. /// \pre \li Must exist. @@ -116,7 +123,8 @@ IKA_API void ikarus_entity_get_properties( /// \pre \li Must not be null. /// \pre \li Must exist. /// \return The value of the property or null if the entity does not have the property or an error occurs. -/// \remark Must be freed using #ikarus_free. +/// \remark Must be freed using +/// #ikarus_free. IKA_API struct IkarusEntityValue * ikarus_entity_get_value(IkarusEntity const * entity, struct IkarusProperty const * property); /// \brief Sets the value of a property of an entity. @@ -131,9 +139,7 @@ IKA_API struct IkarusEntityValue * ikarus_entity_get_value(IkarusEntity const * /// \pre \li Must be of the same type as the property. /// \pre \li Must be valid for the property's settings. /// \remark If the entity does not have the property, this function fails. -IKA_API void ikarus_entity_set_value( - IkarusEntity * entity, struct IkarusProperty const * property, struct IkarusValue const * value -); +IKA_API void ikarus_entity_set_value(IkarusEntity * entity, struct IkarusProperty const * property, struct IkarusValue const * value); /// \brief Casts an entity to an object. /// \param entity The entity to cast. diff --git a/include/ikarus/objects/object.h b/include/ikarus/objects/object.h index abaa580..ba754c5 100644 --- a/include/ikarus/objects/object.h +++ b/include/ikarus/objects/object.h @@ -19,11 +19,8 @@ IKARUS_BEGIN_HEADER struct IkarusObject; /// \brief Compares two objects for equality. -/// \details This neither compares the pointers nor does a deep copy. Instead it figures out if the objects _are_ the same -/// object. -/// \param lhs The left hand side object. -/// \pre \li Must not be null. -/// \param rhs The right hand side object. +/// \details This neither compares the pointers nor does a deep copy. Instead it figures out if the objects _are_ the +/// same object. \param lhs The left hand side object. \pre \li Must not be null. \param rhs The right hand side object. /// \pre \li Must not be null. /// \return True if the objects are equal, false otherwise. IKA_API bool ikarus_object_is_equal(IkarusObject const * lhs, IkarusObject const * rhs); diff --git a/include/ikarus/objects/properties/number_property.h b/include/ikarus/objects/properties/number_property.h index 9b4fa4d..3108201 100644 --- a/include/ikarus/objects/properties/number_property.h +++ b/include/ikarus/objects/properties/number_property.h @@ -13,9 +13,8 @@ IKARUS_BEGIN_HEADER struct IkarusNumberProperty; -IKA_API IkarusNumberProperty * ikarus_number_property_create( - struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source -); +IKA_API IkarusNumberProperty * +ikarus_number_property_create(struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source); /// \brief Sets the default value for a number property. /// \param property The number property. @@ -30,11 +29,9 @@ IKA_API struct IkarusNumberValue * ikarus_number_property_get_default_value(stru /// \param default_value The default value. /// \pre \li Must not be null. /// \pre \li Must be a valid value for the property. -/// \remark Please see \ref property.h "the property documentation" for more information on the interplay between default values -/// and other settings. -IKA_API void ikarus_number_property_set_default_value( - struct IkarusNumberProperty * property, struct IkarusNumberValue * default_value -); +/// \remark Please see \ref property.h "the property documentation" for more information on the interplay between +/// default values and other settings. +IKA_API void ikarus_number_property_set_default_value(struct IkarusNumberProperty * property, struct IkarusNumberValue * default_value); IKARUS_END_HEADER diff --git a/include/ikarus/objects/properties/property.h b/include/ikarus/objects/properties/property.h index c0f37fa..ef28ca2 100644 --- a/include/ikarus/objects/properties/property.h +++ b/include/ikarus/objects/properties/property.h @@ -33,8 +33,8 @@ IKARUS_BEGIN_HEADER /// - 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. +/// 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. diff --git a/include/ikarus/objects/properties/text_property.h b/include/ikarus/objects/properties/text_property.h index 0e6a435..9c91c80 100644 --- a/include/ikarus/objects/properties/text_property.h +++ b/include/ikarus/objects/properties/text_property.h @@ -13,9 +13,8 @@ IKARUS_BEGIN_HEADER struct IkarusTextProperty; -IKA_API IkarusTextProperty * ikarus_text_property_create( - struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source -); +IKA_API IkarusTextProperty * +ikarus_text_property_create(struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source); /// \brief Sets the default value for a text property. /// \param property The text property. @@ -30,11 +29,9 @@ IKA_API struct IkarusTextValue * ikarus_text_property_get_default_value(struct I /// \param default_value The default value. /// \pre \li Must not be null. /// \pre \li Must be a valid value for the property. -/// \remark Please see \ref property.h "the property documentation" for more information on the interplay between default values -/// and other settings. -IKA_API void ikarus_text_property_set_default_value( - struct IkarusTextProperty * property, struct IkarusTextValue * default_value -); +/// \remark Please see \ref property.h "the property documentation" for more information on the interplay between +/// default values and other settings. +IKA_API void ikarus_text_property_set_default_value(struct IkarusTextProperty * property, struct IkarusTextValue * default_value); IKARUS_END_HEADER diff --git a/include/ikarus/objects/properties/toggle_property.h b/include/ikarus/objects/properties/toggle_property.h index 0d67304..cfa51e3 100644 --- a/include/ikarus/objects/properties/toggle_property.h +++ b/include/ikarus/objects/properties/toggle_property.h @@ -13,9 +13,8 @@ IKARUS_BEGIN_HEADER struct IkarusToggleProperty; -IKA_API IkarusToggleProperty * ikarus_toggle_property_create( - struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source -); +IKA_API IkarusToggleProperty * +ikarus_toggle_property_create(struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source); /// \brief Sets the default value for a toggle property. /// \param property The toggle property. @@ -30,11 +29,9 @@ IKA_API struct IkarusToggleValue * ikarus_toggle_property_get_default_value(stru /// \param default_value The default value. /// \pre \li Must not be null. /// \pre \li Must be a valid value for the property. -/// \remark Please see \ref property.h "the property documentation" for more information on the interplay between default values -/// and other settings. -IKA_API void ikarus_toggle_property_set_default_value( - struct IkarusToggleProperty * property, struct IkarusToggleValue * default_value -); +/// \remark Please see \ref property.h "the property documentation" for more information on the interplay between +/// default values and other settings. +IKA_API void ikarus_toggle_property_set_default_value(struct IkarusToggleProperty * property, struct IkarusToggleValue * default_value); IKARUS_END_HEADER diff --git a/include/ikarus/persistence/project.h b/include/ikarus/persistence/project.h index a041946..7df0e45 100644 --- a/include/ikarus/persistence/project.h +++ b/include/ikarus/persistence/project.h @@ -144,9 +144,8 @@ IKA_API size_t ikarus_project_get_blueprint_count(IkarusProject const * project) /// \param blueprints_out The buffer to write the blueprints to. /// \pre \li Must not be null. /// \param blueprints_out_size The size of the buffer. -IKA_API void ikarus_project_get_blueprints( - IkarusProject const * project, struct IkarusBlueprint ** blueprints_out, size_t blueprints_out_size -); +IKA_API void +ikarus_project_get_blueprints(IkarusProject const * project, struct IkarusBlueprint ** blueprints_out, size_t blueprints_out_size); /// \brief Gets the entity root folder of a project. /// \param project The project to get the entity root folder of. @@ -170,9 +169,7 @@ IKA_API size_t ikarus_project_get_entity_count(IkarusProject const * project); /// \param entities_out The buffer to write the entities to. /// \pre \li Must not be null. /// \param entities_out_size The size of the buffer. -IKA_API void ikarus_project_get_entities( - IkarusProject const * project, struct IkarusEntity ** entities_out, size_t entities_out_size -); +IKA_API void ikarus_project_get_entities(IkarusProject const * project, struct IkarusEntity ** entities_out, size_t entities_out_size); IKARUS_END_HEADER diff --git a/include/ikarus/values/value.h b/include/ikarus/values/value.h index d33f87a..880c2eb 100644 --- a/include/ikarus/values/value.h +++ b/include/ikarus/values/value.h @@ -12,8 +12,8 @@ /// Each value may be undefined. \see IkarusProperty /// Values are stored as lists. If a property is "singular" then its value is a list of size 1. /// Values are typed, with types existing for each of the corresponding property types. -/// When setting values for a property the type must match the property type and the value must be valid under the property's -/// settings. \see PropertyType +/// When setting values for a property the type must match the property type and the value must be valid under the +/// property's settings. \see PropertyType /// @{ IKARUS_BEGIN_HEADER diff --git a/src/objects/blueprint.cpp b/src/objects/blueprint.cpp index af5fc08..c8bf1e5 100644 --- a/src/objects/blueprint.cpp +++ b/src/objects/blueprint.cpp @@ -31,7 +31,9 @@ void ikarus_blueprint_delete(IkarusBlueprint * blueprint) { } void ikarus_blueprint_get_properties( - IkarusBlueprint const * blueprint, struct IkarusProperty ** properties_out, size_t properties_out_size + IkarusBlueprint const * blueprint, + struct IkarusProperty ** properties_out, + size_t properties_out_size ) { ikarus::util::fetch_multiple_buffered( blueprint, @@ -43,18 +45,15 @@ void ikarus_blueprint_get_properties( }, properties_out, properties_out_size, - [&](IkarusProject * project, IkarusFunctionContext * ctx, IkarusId id - ) -> cppbase::Result { - VTRY( - auto const type, IkarusProperty::get_property_type(blueprint->project, id).on_error([ctx, id](auto const& err) { - ctx->set_error( - fmt::format("failed to fetch property {}'s type: {}", id, err), - true, - IkarusErrorInfo_Source_SubSystem, - IkarusErrorInfo_Type_SubSystem_Database - ); - }) - ); + [&](IkarusProject * project, IkarusFunctionContext * ctx, IkarusId id) -> cppbase::Result { + VTRY(auto const type, IkarusProperty::get_property_type(blueprint->project, id).on_error([ctx, id](auto const & err) { + ctx->set_error( + fmt::format("failed to fetch property {}'s type: {}", id, err), + true, + IkarusErrorInfo_Source_SubSystem, + IkarusErrorInfo_Type_SubSystem_Database + ); + })); return cppbase::ok(project->get_property(id, type)); } @@ -75,7 +74,9 @@ size_t ikarus_blueprint_get_property_count(IkarusBlueprint const * blueprint) { } void ikarus_blueprint_get_linked_entities( - IkarusBlueprint const * blueprint, struct IkarusEntity ** entities_out, size_t entities_out_size + IkarusBlueprint const * blueprint, + struct IkarusEntity ** entities_out, + size_t entities_out_size ) { ikarus::util::fetch_multiple_buffered( blueprint, diff --git a/src/objects/blueprint.hpp b/src/objects/blueprint.hpp index 6fa6281..61aca64 100644 --- a/src/objects/blueprint.hpp +++ b/src/objects/blueprint.hpp @@ -5,11 +5,11 @@ struct IkarusBlueprint : IkarusObject { IkarusBlueprint(struct IkarusProject * project, IkarusId id); - IkarusBlueprint(IkarusBlueprint const&) = default; - IkarusBlueprint(IkarusBlueprint&&) = default; + IkarusBlueprint(IkarusBlueprint const &) = default; + IkarusBlueprint(IkarusBlueprint &&) = default; - IkarusBlueprint& operator=(IkarusBlueprint const&) = default; - IkarusBlueprint& operator=(IkarusBlueprint&&) = default; + IkarusBlueprint & operator=(IkarusBlueprint const &) = default; + IkarusBlueprint & operator=(IkarusBlueprint &&) = default; ~IkarusBlueprint() override = default; }; diff --git a/src/objects/entity.hpp b/src/objects/entity.hpp index f6d4f90..92cf4c6 100644 --- a/src/objects/entity.hpp +++ b/src/objects/entity.hpp @@ -6,11 +6,11 @@ struct IkarusEntity : IkarusObject { inline IkarusEntity(struct IkarusProject * project, IkarusId id): IkarusObject{project, id} {} - IkarusEntity(IkarusEntity const&) = default; - IkarusEntity(IkarusEntity&&) = default; + IkarusEntity(IkarusEntity const &) = default; + IkarusEntity(IkarusEntity &&) = default; - IkarusEntity& operator=(IkarusEntity const&) = default; - IkarusEntity& operator=(IkarusEntity&&) = default; + IkarusEntity & operator=(IkarusEntity const &) = default; + IkarusEntity & operator=(IkarusEntity &&) = default; ~IkarusEntity() override = default; }; diff --git a/src/objects/object.hpp b/src/objects/object.hpp index 5a94aa2..c51ddbb 100644 --- a/src/objects/object.hpp +++ b/src/objects/object.hpp @@ -10,11 +10,11 @@ struct IkarusObject { public: IkarusObject(struct IkarusProject * project, IkarusId id); - IkarusObject(IkarusObject const&) = default; - IkarusObject(IkarusObject&&) = default; + IkarusObject(IkarusObject const &) = default; + IkarusObject(IkarusObject &&) = default; - IkarusObject& operator=(IkarusObject const&) = default; - IkarusObject& operator=(IkarusObject&&) = default; + IkarusObject & operator=(IkarusObject const &) = default; + IkarusObject & operator=(IkarusObject &&) = default; virtual ~IkarusObject() = default; diff --git a/src/objects/properties/property.cpp b/src/objects/properties/property.cpp index 2abef0a..bea1a0d 100644 --- a/src/objects/properties/property.cpp +++ b/src/objects/properties/property.cpp @@ -14,17 +14,15 @@ IkarusProperty::IkarusProperty(IkarusProject * project, IkarusId id, Data data): IkarusObject{project, id}, _data{data} {} -IkarusProperty::Data& IkarusProperty::get_data() { +IkarusProperty::Data & IkarusProperty::get_data() { return _data; } -IkarusProperty::Data const& IkarusProperty::get_data() const { +IkarusProperty::Data const & IkarusProperty::get_data() const { return _data; } -cppbase::Result IkarusProperty::get_property_type( - IkarusProject * project, IkarusId id -) { +cppbase::Result IkarusProperty::get_property_type(IkarusProject * project, IkarusId id) { LOG_DEBUG("fetching unboxed property type"); LOG_VERBOSE("project={};property={}", project->get_path().c_str(), id); @@ -33,16 +31,14 @@ cppbase::Result IkarusProperty: VTRY( auto const type, - project->get_db() - ->query_one("SELECT `type` FROM `properties` WHERE `id` = ?", id) - .on_error([ctx](auto const& err) { - ctx->set_error( - fmt::format("failed to fetch unboxed property type: {}", err), - true, - IkarusErrorInfo_Source_SubSystem, - IkarusErrorInfo_Type_SubSystem_Database - ); - }) + project->get_db()->query_one("SELECT `type` FROM `properties` WHERE `id` = ?", id).on_error([ctx](auto const & err) { + ctx->set_error( + fmt::format("failed to fetch unboxed property type: {}", err), + true, + IkarusErrorInfo_Source_SubSystem, + IkarusErrorInfo_Type_SubSystem_Database + ); + }) ); return cppbase::ok(static_cast(type)); @@ -55,20 +51,14 @@ IKA_API void ikarus_property_delete(IkarusProperty * property) { auto * ctx = property->project->get_function_context(); - TRYRV( - , - property->project - ->get_db() - ->execute("DELETE FROM `objects` WHERE `id` = ?", property->id) - .on_error([ctx](auto const& err) { - ctx->set_error( - fmt::format("failed to delete property from objects table: {}", err), - true, - IkarusErrorInfo_Source_SubSystem, - IkarusErrorInfo_Type_SubSystem_Database - ); - }) - ); + TRYRV(, property->project->get_db()->execute("DELETE FROM `objects` WHERE `id` = ?", property->id).on_error([ctx](auto const & err) { + ctx->set_error( + fmt::format("failed to delete property from objects table: {}", err), + true, + IkarusErrorInfo_Source_SubSystem, + IkarusErrorInfo_Type_SubSystem_Database + ); + })); LOG_VERBOSE("property was successfully deleted from database, freeing"); @@ -80,8 +70,7 @@ IKA_API void ikarus_property_delete(IkarusProperty * property) { IkarusPropertyType ikarus_property_get_type(IkarusProperty const * property) { LOG_VERBOSE("fetching property type"); - return IkarusProperty::get_property_type(property->project, property->id) - .unwrap_value_or(IkarusPropertyType_Toggle); + return IkarusProperty::get_property_type(property->project, property->id).unwrap_value_or(IkarusPropertyType_Toggle); } IkarusPropertySource const * ikarus_property_get_source(IkarusProperty const * property) { @@ -94,10 +83,9 @@ IkarusPropertySource const * ikarus_property_get_source(IkarusProperty const * p VTRYRV( auto const source, nullptr, - property->project - ->get_db() + property->project->get_db() ->query_one("SELECT `source` FROM `properties` WHERE `id` = ?", property->id) - .on_error([ctx](auto const& err) { + .on_error([ctx](auto const & err) { ctx->set_error( fmt::format("failed to fetch property's source: {}", err), true, @@ -133,10 +121,9 @@ IkarusValue * ikarus_property_get_default_value(IkarusProperty const * property) VTRYRV( auto const value, nullptr, - property->project - ->get_db() + property->project->get_db() ->query_one("SELECT `default_value` FROM `properties` WHERE `id` = ?", property->id) - .on_error([ctx](auto const& err) { + .on_error([ctx](auto const & err) { ctx->set_error( fmt::format("failed to fetch property's default value: {}", err), true, diff --git a/src/objects/properties/property.hpp b/src/objects/properties/property.hpp index 6acd377..efdb515 100644 --- a/src/objects/properties/property.hpp +++ b/src/objects/properties/property.hpp @@ -16,24 +16,23 @@ public: public: /// \brief Helper to fetch a type for a property that isn't yet wrapped in an object - [[nodiscard]] static cppbase::Result get_property_type( - struct IkarusProject * project, IkarusId id - ); + [[nodiscard]] static cppbase::Result + get_property_type(struct IkarusProject * project, IkarusId id); public: IkarusProperty(struct IkarusProject * project, IkarusId id, Data data); - IkarusProperty(IkarusProperty const&) = default; - IkarusProperty(IkarusProperty&&) = default; + IkarusProperty(IkarusProperty const &) = default; + IkarusProperty(IkarusProperty &&) = default; - IkarusProperty& operator=(IkarusProperty const&) = default; - IkarusProperty& operator=(IkarusProperty&&) = default; + IkarusProperty & operator=(IkarusProperty const &) = default; + IkarusProperty & operator=(IkarusProperty &&) = default; ~IkarusProperty() override = default; public: - [[nodiscard]] Data& get_data(); - [[nodiscard]] Data const& get_data() const; + [[nodiscard]] Data & get_data(); + [[nodiscard]] Data const & get_data() const; private: Data _data; diff --git a/src/objects/properties/property_source.hpp b/src/objects/properties/property_source.hpp index 0fda4ed..a98d664 100644 --- a/src/objects/properties/property_source.hpp +++ b/src/objects/properties/property_source.hpp @@ -11,11 +11,11 @@ public: public: explicit IkarusPropertySource(Data data); - IkarusPropertySource(IkarusPropertySource const&) = default; - IkarusPropertySource(IkarusPropertySource&&) = default; + IkarusPropertySource(IkarusPropertySource const &) = default; + IkarusPropertySource(IkarusPropertySource &&) = default; - IkarusPropertySource& operator=(IkarusPropertySource const&) = default; - IkarusPropertySource& operator=(IkarusPropertySource&&) = default; + IkarusPropertySource & operator=(IkarusPropertySource const &) = default; + IkarusPropertySource & operator=(IkarusPropertySource &&) = default; virtual ~IkarusPropertySource() = default; diff --git a/src/objects/properties/toggle_property.cpp b/src/objects/properties/toggle_property.cpp index 70ec934..db5105b 100644 --- a/src/objects/properties/toggle_property.cpp +++ b/src/objects/properties/toggle_property.cpp @@ -3,8 +3,5 @@ IkarusToggleProperty::IkarusToggleProperty(IkarusProject * project, IkarusId id): IkarusProperty{project, id, this} {} -IkarusToggleProperty * ikarus_toggle_property_create( - struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source -) { - -} +IkarusToggleProperty * +ikarus_toggle_property_create(struct IkarusProject * project, char const * name, struct IkarusPropertySource * property_source) {} diff --git a/src/objects/util.hpp b/src/objects/util.hpp index f192b7a..0ba4b37 100644 --- a/src/objects/util.hpp +++ b/src/objects/util.hpp @@ -55,7 +55,7 @@ template return cppbase::ok(id); }) - .on_error([&](auto const& err) { + .on_error([&](auto const & err) { ctx->set_error( fmt::format("unable to insert {} into database: {}", object_type_str, err), true, @@ -81,7 +81,7 @@ void delete_object(IkarusProject * project, Object * object) { auto * ctx = object->project->get_function_context(); - TRYRV(, project->get_db()->execute("DELETE FROM `objects` WHERE `id` = ?", object->id).on_error([&](auto const& err) { + TRYRV(, project->get_db()->execute("DELETE FROM `objects` WHERE `id` = ?", object->id).on_error([&](auto const & err) { ctx->set_error( fmt::format("failed to delete {} from objects table: {}", object_type_str, err), true, @@ -104,7 +104,7 @@ struct SingleQueryData { template requires std::derived_from -cppbase::Result fetch_single_field(Object const * object, SingleQueryData const& query_data) { +cppbase::Result fetch_single_field(Object const * object, SingleQueryData const & query_data) { auto object_type_str = ikarus_object_type_to_string(ikarus_id_get_object_type(object->id)); LOG_VERBOSE("fetching property default value"); @@ -120,7 +120,7 @@ cppbase::Result fetch_single_field(Object const fmt::format("SELECT `{}` FROM `{}` WHERE `id` = ?", query_data.select_field_name, query_data.table_name), object->id ) - .on_error([&](auto const& err) { + .on_error([&](auto const & err) { ctx->set_error( fmt::format("failed to fetch {} {} from database: {}", object_type_str, query_data.select_field_name, err), true, @@ -143,10 +143,13 @@ struct MultipleBufferQueryData { template requires std::derived_from void fetch_multiple_buffered( - Object const * object, MultipleBufferQueryData const& query_data, Mapped * mapped_buffer, size_t buffer_size, F transformer + Object const * object, + MultipleBufferQueryData const & query_data, + Mapped * mapped_buffer, + size_t buffer_size, + F transformer ) - requires cppbase:: - is_result_with_value_type_v> + requires cppbase::is_result_with_value_type_v> { auto * ctx = object->project->get_function_context(); @@ -172,7 +175,7 @@ void fetch_multiple_buffered( buffer_size, object->id ) - .on_error([&](auto const& err) { + .on_error([&](auto const & err) { ctx->set_error( fmt::format("failed to fetch {} {} from database: {}", object_type_str, query_data.relation_desc, err), true, @@ -182,9 +185,7 @@ void fetch_multiple_buffered( }) ); - LOG_DEBUG( - "{} {}: [{}]", object_type_str, query_data.relation_desc, fmt::join(select_buffer, select_buffer + buffer_size, ", ") - ); + LOG_DEBUG("{} {}: [{}]", object_type_str, query_data.relation_desc, fmt::join(select_buffer, select_buffer + buffer_size, ", ")); for (size_t i = 0; i < buffer_size; ++i) { VTRYRV(mapped_buffer[i], , transformer(object->project, ctx, select_buffer[i])); @@ -200,7 +201,7 @@ struct CountQueryData { template requires std::derived_from -cppbase::Result fetch_count(Object const * object, CountQueryData const& query_data) { +cppbase::Result fetch_count(Object const * object, CountQueryData const & query_data) { auto * object_type_str = ikarus_object_type_to_string(ikarus_id_get_object_type(object->id)); LOG_VERBOSE("fetching {} {} count", object_type_str, query_data.relation_desc); @@ -221,7 +222,7 @@ cppbase::Result fetch_count(Object const ), object->id ) - .on_error([&](auto const& err) { + .on_error([&](auto const & err) { ctx->set_error( fmt::format("failed to fetch {} {} count: {}", object_type_str, query_data.relation_desc, err), true, @@ -238,4 +239,4 @@ cppbase::Result fetch_count(Object const return cppbase::ok(static_cast(count)); } -} +} // namespace ikarus::util diff --git a/src/persistence/function_context.hpp b/src/persistence/function_context.hpp index 769006b..663ff2d 100644 --- a/src/persistence/function_context.hpp +++ b/src/persistence/function_context.hpp @@ -16,11 +16,11 @@ struct IkarusFunctionContext { public: explicit IkarusFunctionContext(struct IkarusProject * project); - IkarusFunctionContext(IkarusFunctionContext const&) noexcept = default; - IkarusFunctionContext(IkarusFunctionContext&&) noexcept = default; + IkarusFunctionContext(IkarusFunctionContext const &) noexcept = default; + IkarusFunctionContext(IkarusFunctionContext &&) noexcept = default; - auto operator=(IkarusFunctionContext const&) noexcept -> IkarusFunctionContext& = default; - auto operator=(IkarusFunctionContext&&) noexcept -> IkarusFunctionContext& = default; + auto operator=(IkarusFunctionContext const &) noexcept -> IkarusFunctionContext & = default; + auto operator=(IkarusFunctionContext &&) noexcept -> IkarusFunctionContext & = default; ~IkarusFunctionContext(); @@ -40,11 +40,7 @@ public: _project->error_infos = {infos...}; if (log_error) { - LOG_ERROR( - "Error({}): {}", - fmt::join(_project->error_infos | std::views::transform(get_error_info_name), ", "), - error_message - ); + LOG_ERROR("Error({}): {}", fmt::join(_project->error_infos | std::views::transform(get_error_info_name), ", "), error_message); } } diff --git a/src/persistence/project.cpp b/src/persistence/project.cpp index bf1e51a..0be9991 100644 --- a/src/persistence/project.cpp +++ b/src/persistence/project.cpp @@ -14,7 +14,7 @@ auto IkarusProject::get_name() const -> std::string_view { return _name; } -auto IkarusProject::get_path() const -> std::filesystem::path const& { +auto IkarusProject::get_path() const -> std::filesystem::path const & { return _path; } @@ -55,8 +55,7 @@ auto IkarusProject::get_property(IkarusId id, IkarusPropertyType type) -> Ikarus return _properties.emplace(id, std::make_unique(this, id)).first->second.get(); case IkarusPropertyType_Number: return _properties.emplace(id, std::make_unique(this, id)).first->second.get(); - case IkarusPropertyType_Text: - return _properties.emplace(id, std::make_unique(this, id)).first->second.get(); + case IkarusPropertyType_Text: return _properties.emplace(id, std::make_unique(this, id)).first->second.get(); } } diff --git a/src/persistence/project.hpp b/src/persistence/project.hpp index 7d9d5b0..2359f2e 100644 --- a/src/persistence/project.hpp +++ b/src/persistence/project.hpp @@ -18,7 +18,7 @@ struct IkarusProject { public: [[nodiscard]] auto get_name() const -> std::string_view; - [[nodiscard]] auto get_path() const -> std::filesystem::path const&; + [[nodiscard]] auto get_path() const -> std::filesystem::path const &; [[nodiscard]] auto get_db() -> sqlitecpp::Connection *; [[nodiscard]] auto get_db() const -> sqlitecpp::Connection const *; @@ -38,7 +38,7 @@ public: private: template - [[nodiscard]] T * get_cached_object(IkarusId id, auto& cache) { + [[nodiscard]] T * get_cached_object(IkarusId id, auto & cache) { auto const iter = cache.find(id); if (iter == cache.cend()) { @@ -49,7 +49,7 @@ private: } template - void remove_cached_object(T * object, std::unordered_map>& cache) { + void remove_cached_object(T * object, std::unordered_map> & cache) { cache.erase(object->id); } diff --git a/src/values/number_value.cpp b/src/values/number_value.cpp index b408925..c339149 100644 --- a/src/values/number_value.cpp +++ b/src/values/number_value.cpp @@ -45,7 +45,7 @@ void ikarus_number_value_set_undefined(IkarusNumberValue * value, bool undefined } char const * ikarus_number_value_to_string(IkarusNumberValue const * value) { - return ikarus_value_base_to_string(value, [](auto const& value) { return value; }); + return ikarus_value_base_to_string(value, [](auto const & value) { return value; }); } bool ikarus_number_value_is_equal(IkarusNumberValue const * lhs, IkarusNumberValue const * rhs) { diff --git a/src/values/number_value.hpp b/src/values/number_value.hpp index 1421ca3..8644d3e 100644 --- a/src/values/number_value.hpp +++ b/src/values/number_value.hpp @@ -12,15 +12,14 @@ public: public: explicit IkarusNumberValue(); - IkarusNumberValue(IkarusNumberValue const&) = default; - IkarusNumberValue(IkarusNumberValue&&) = default; + IkarusNumberValue(IkarusNumberValue const &) = default; + IkarusNumberValue(IkarusNumberValue &&) = default; - IkarusNumberValue& operator=(IkarusNumberValue const&) = default; - IkarusNumberValue& operator=(IkarusNumberValue&&) = default; + IkarusNumberValue & operator=(IkarusNumberValue const &) = default; + IkarusNumberValue & operator=(IkarusNumberValue &&) = default; ~IkarusNumberValue() override = default; public: - boost::variant2::variant> data{ - }; + boost::variant2::variant> data{}; }; diff --git a/src/values/text_value.cpp b/src/values/text_value.cpp index ff09770..64006ac 100644 --- a/src/values/text_value.cpp +++ b/src/values/text_value.cpp @@ -46,7 +46,7 @@ void ikarus_text_value_set_undefined(IkarusTextValue * value, bool undefined) { } char const * ikarus_text_value_to_string(IkarusTextValue const * value) { - return ikarus_value_base_to_string(value, [](auto const& value) { return value; }); + return ikarus_value_base_to_string(value, [](auto const & value) { return value; }); } bool ikarus_text_value_is_equal(IkarusTextValue const * lhs, IkarusTextValue const * rhs) { diff --git a/src/values/text_value.hpp b/src/values/text_value.hpp index 117e175..40d3945 100644 --- a/src/values/text_value.hpp +++ b/src/values/text_value.hpp @@ -11,15 +11,14 @@ public: public: explicit IkarusTextValue(); - IkarusTextValue(IkarusTextValue const&) = default; - IkarusTextValue(IkarusTextValue&&) = default; + IkarusTextValue(IkarusTextValue const &) = default; + IkarusTextValue(IkarusTextValue &&) = default; - IkarusTextValue& operator=(IkarusTextValue const&) = default; - IkarusTextValue& operator=(IkarusTextValue&&) = default; + IkarusTextValue & operator=(IkarusTextValue const &) = default; + IkarusTextValue & operator=(IkarusTextValue &&) = default; ~IkarusTextValue() override = default; public: - boost::variant2::variant> data{ - }; + boost::variant2::variant> data{}; }; diff --git a/src/values/toggle_value.cpp b/src/values/toggle_value.cpp index c5ced27..dabbe00 100644 --- a/src/values/toggle_value.cpp +++ b/src/values/toggle_value.cpp @@ -46,7 +46,7 @@ void ikarus_toggle_value_set_undefined(IkarusToggleValue * value, bool undefined } char const * ikarus_toggle_value_to_string(IkarusToggleValue const * value) { - return ikarus_value_base_to_string(value, [](auto const& value) { return value ? "✓" : "✗"; }); + return ikarus_value_base_to_string(value, [](auto const & value) { return value ? "✓" : "✗"; }); } bool ikarus_toggle_value_is_equal(IkarusToggleValue const * lhs, IkarusToggleValue const * rhs) { diff --git a/src/values/toggle_value.hpp b/src/values/toggle_value.hpp index 7e2240f..20a5dd6 100644 --- a/src/values/toggle_value.hpp +++ b/src/values/toggle_value.hpp @@ -11,15 +11,14 @@ public: public: explicit IkarusToggleValue(); - IkarusToggleValue(IkarusToggleValue const&) = default; - IkarusToggleValue(IkarusToggleValue&&) = default; + IkarusToggleValue(IkarusToggleValue const &) = default; + IkarusToggleValue(IkarusToggleValue &&) = default; - IkarusToggleValue& operator=(IkarusToggleValue const&) = default; - IkarusToggleValue& operator=(IkarusToggleValue&&) = default; + IkarusToggleValue & operator=(IkarusToggleValue const &) = default; + IkarusToggleValue & operator=(IkarusToggleValue &&) = default; ~IkarusToggleValue() override = default; public: - boost::variant2::variant> data{ - }; + boost::variant2::variant> data{}; }; diff --git a/src/values/value.cpp b/src/values/value.cpp index 2cffcaa..cf9a270 100644 --- a/src/values/value.cpp +++ b/src/values/value.cpp @@ -19,7 +19,7 @@ IkarusValue::IkarusValue(Data data): data(data) {} -cppbase::Result IkarusValue::from_json(boost::json::value const& json) { +cppbase::Result IkarusValue::from_json(boost::json::value const & json) { if (auto const * obj = json.if_object(); obj == nullptr) { return cppbase::err(FromJsonError{}); } else { @@ -43,8 +43,9 @@ cppbase::Result IkarusValue::from_jso ret = new T{}; ret->data = boost::variant2::monostate{}; } else { - auto res = boost::json::try_value_to< - boost::container::small_vector>(*data); + auto res = + boost::json::try_value_to>(*data + ); if (res.has_error()) { return cppbase::err(FromJsonError{}); @@ -88,8 +89,8 @@ boost::json::value IkarusValue::to_json() const { [](T const * value) -> boost::json::value { return boost::variant2::visit( cppbase::overloaded{ - []([[maybe_unused]] boost::variant2::monostate const& data) -> boost::json::value { return nullptr; }, - [](auto const& data) -> boost::json::value { return boost::json::value_from(data); } + []([[maybe_unused]] boost::variant2::monostate const & data) -> boost::json::value { return nullptr; }, + [](auto const & data) -> boost::json::value { return boost::json::value_from(data); } }, value->data ); diff --git a/src/values/value.hpp b/src/values/value.hpp index 20b4717..adc27ca 100644 --- a/src/values/value.hpp +++ b/src/values/value.hpp @@ -13,18 +13,18 @@ public: public: explicit IkarusValue(Data data); - IkarusValue(IkarusValue const&) = default; - IkarusValue(IkarusValue&&) noexcept = default; + IkarusValue(IkarusValue const &) = default; + IkarusValue(IkarusValue &&) noexcept = default; - IkarusValue& operator=(IkarusValue const&) = default; - IkarusValue& operator=(IkarusValue&&) noexcept = default; + IkarusValue & operator=(IkarusValue const &) = default; + IkarusValue & operator=(IkarusValue &&) noexcept = default; virtual ~IkarusValue() = default; public: struct FromJsonError {}; - [[nodiscard]] static cppbase::Result from_json(boost::json::value const& json); + [[nodiscard]] static cppbase::Result from_json(boost::json::value const & json); [[nodiscard]] boost::json::value to_json() const; public: diff --git a/src/values/value_base.hpp b/src/values/value_base.hpp index 46cf457..d4e6e25 100644 --- a/src/values/value_base.hpp +++ b/src/values/value_base.hpp @@ -2,16 +2,14 @@ #include -#include - #include +#include + template typename V::DataType const * ikarus_value_base_get(V * value, size_t idx) { if (auto * data = - boost::variant2::get_if>( - &value->data - ); + boost::variant2::get_if>(&value->data); data != nullptr) { return &(*data)[idx]; } @@ -22,9 +20,7 @@ typename V::DataType const * ikarus_value_base_get(V * value, size_t idx) { template size_t ikarus_value_base_get_size(V const * value) { if (auto * data = - boost::variant2::get_if>( - &value->data - ); + boost::variant2::get_if>(&value->data); data != nullptr) { return data->size(); } @@ -35,9 +31,7 @@ size_t ikarus_value_base_get_size(V const * value) { template void ikarus_value_base_set(V * value, size_t idx, typename V::DataType new_data) { if (auto * data = - boost::variant2::get_if>( - &value->data - ); + boost::variant2::get_if>(&value->data); data != nullptr) { (*data)[idx] = new_data; } @@ -46,9 +40,7 @@ void ikarus_value_base_set(V * value, size_t idx, typename V::DataType new_data) template void ikarus_value_base_remove(V * value, size_t idx) { if (auto * data = - boost::variant2::get_if>( - &value->data - ); + boost::variant2::get_if>(&value->data); data != nullptr) { data->erase(data->begin() + idx); } @@ -57,9 +49,7 @@ void ikarus_value_base_remove(V * value, size_t idx) { template void ikarus_value_base_insert(V * value, size_t idx, typename V::DataType new_data) { if (auto * data = - boost::variant2::get_if>( - &value->data - ); + boost::variant2::get_if>(&value->data); data != nullptr) { data->insert(data->begin() + idx, new_data); } @@ -68,9 +58,7 @@ void ikarus_value_base_insert(V * value, size_t idx, typename V::DataType new_da template void ikarus_value_base_clear(V * value) { if (auto * data = - boost::variant2::get_if>( - &value->data - ); + boost::variant2::get_if>(&value->data); data != nullptr) { data->clear(); } @@ -93,10 +81,9 @@ void ikarus_value_base_set_undefined(V * value, bool undefined) { template F> char const * ikarus_value_base_to_string(V const * value, F transformer) { return boost::variant2::visit( - cppbase::overloaded { - [](boost::variant2::monostate const&) -> char const * { return nullptr; }, - [&transformer](auto const& data - ) -> char const * { + cppbase::overloaded{ + [](boost::variant2::monostate const &) -> char const * { return nullptr; }, + [&transformer](auto const & data) -> char const * { auto buffer = fmt::memory_buffer{}; fmt::format_to(