Skip to content

V18 - #1314

Draft
BenPinet wants to merge 43 commits into
nextfrom
v18
Draft

V18#1314
BenPinet wants to merge 43 commits into
nextfrom
v18

Conversation

@BenPinet

@BenPinet BenPinet commented Aug 4, 2026

Copy link
Copy Markdown
Member

No description provided.

BotellaA and others added 9 commits July 23, 2026 13:40
BREAKING CHANGE: create_attribute now requires an additional parameter to specify the no-value property.
…rty_to_attribute

feat(Attributes): add no-value property support
BREAKING CHANGE: change members name in Logger struct
BREAKING CHANGE: rename Sign struct to SIGN
…rn_with_warning

fix(Logger): replace warn with warning
@BenPinet
BenPinet requested a review from BotellaA August 4, 2026 09:34
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 2567 concern(s)
  • bindings/python/src/basic/attribute.cpp:34:10: warning: [misc-use-internal-linkage]

    function 'python_attribute_class' can be made static or moved into an anonymous namespace to enforce internal linkage

       34 |     void python_attribute_class(
          |          ^
          |     static 
  • bindings/python/src/basic/attribute.cpp:67:10: warning: [misc-use-internal-linkage]

    function 'python_attribute_values_class' can be made static or moved into an anonymous namespace to enforce internal linkage

       67 |     void python_attribute_values_class(
          |          ^
          |     static 
  • bindings/python/src/basic/attribute.cpp:79:10: warning: [misc-use-internal-linkage]

    function 'define_attributes' can be made static or moved into an anonymous namespace to enforce internal linkage

       79 |     void define_attributes( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/basic/attribute_manager.cpp:36:10: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'python_attribute_class' is non-const and globally accessible, consider making it const

       36 |     void python_attribute_class( pybind11::class_< AttributeManager >& manager,
          |          ^
  • bindings/python/src/basic/attribute_manager.cpp:36:10: warning: [misc-use-internal-linkage]

    variable 'python_attribute_class' can be made static or moved into an anonymous namespace to enforce internal linkage

       36 |     void python_attribute_class( pybind11::class_< AttributeManager >& manager,
          |          ^
          |     static 
  • bindings/python/src/basic/attribute_manager.cpp:101:10: warning: [misc-use-internal-linkage]

    function 'define_attribute_manager' can be made static or moved into an anonymous namespace to enforce internal linkage

      101 |     void define_attribute_manager( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/geometry/sign.cpp:33:10: warning: [misc-use-internal-linkage]

    function 'define_sign' can be made static or moved into an anonymous namespace to enforce internal linkage

       33 |     void define_sign( pybind11::module& module )
          |          ^
          |     static 
  • include/geode/basic/attribute.hpp:52:11: warning: [cppcoreguidelines-special-member-functions]

    class 'AttributeBase' defines a default destructor, a copy constructor and a copy assignment operator but does not define a move constructor or a move assignment operator

       52 |     class AttributeBase : public Identifier
          |           ^
  • include/geode/basic/attribute.hpp:82:27: warning: [hicpp-move-const-arg]

    std::move of the variable 'new_properties' of the trivially-copyable type 'AttributeProperties' has no effect; remove std::move()

       82 |             properties_ = std::move( new_properties );
          |                           ^~~~~~~~~~                ~
  • include/geode/basic/attribute.hpp:156:28: warning: [hicpp-move-const-arg]

    std::move of the variable 'properties' of the trivially-copyable type 'AttributeProperties' has no effect; remove std::move()

      156 |             : properties_( std::move( properties ) )
          |                            ^~~~~~~~~~            ~
  • include/geode/basic/attribute_utils.hpp:148:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'IMPLICIT_ATTRIBUTE_LINEAR_INTERPOLATION' used; consider a 'constexpr' template function

      148 | #define IMPLICIT_ATTRIBUTE_LINEAR_INTERPOLATION( Type )                        \
          |         ^
  • include/geode/basic/attribute_utils.hpp:182:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'IMPLICIT_ARRAY_ATTRIBUTE_LINEAR_INTERPOLATION' used; consider a 'constexpr' template function

      182 | #define IMPLICIT_ARRAY_ATTRIBUTE_LINEAR_INTERPOLATION( Type )                  \
          |         ^
  • include/geode/basic/attribute_utils.hpp:261:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'IMPLICIT_GENERIC_ATTRIBUTE_CONVERSION' used; consider a 'constexpr' template function

      261 | #define IMPLICIT_GENERIC_ATTRIBUTE_CONVERSION( Type )                          \
          |         ^
  • include/geode/basic/attribute_utils.hpp:297:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'IMPLICIT_ARRAY_GENERIC_ATTRIBUTE_CONVERSION' used; consider a 'constexpr' template function

      297 | #define IMPLICIT_ARRAY_GENERIC_ATTRIBUTE_CONVERSION( Type )                    \
          |         ^
  • include/geode/basic/bitsery_archive.hpp:51:17: warning: [performance-enum-size]

    enum 'BITSERY' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       51 |     enum struct BITSERY
          |                 ^
  • include/geode/basic/bitsery_archive.hpp:100:33: warning: [readability-identifier-length]

    parameter name 's' is too short, expected at least 3 characters

      100 |     void serialize( Serializer &s, absl::InlinedVector< T, N > &obj )
          |                                 ^
  • include/geode/basic/bitsery_archive.hpp:115:33: warning: [readability-identifier-length]

    parameter name 's' is too short, expected at least 3 characters

      115 |     void serialize( Serializer &s, absl::FixedArray< T, N > &obj )
          |                                 ^
  • include/geode/basic/bitsery_archive.hpp:121:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'SERIALIZE_BITSERY_ARCHIVE' used; consider a 'constexpr' template function

      121 | #define SERIALIZE_BITSERY_ARCHIVE( EXPORT, TYPE )                              \
          |         ^
  • include/geode/basic/bitsery_archive.hpp:122:14: warning: [bugprone-macro-parentheses]

    macro argument should be enclosed in parentheses

      122 |     template EXPORT void TYPE::serialize< geode::Serializer >(                 \
          |              ^
          |              (     )
  • include/geode/basic/bitsery_archive.hpp:124:14: warning: [bugprone-macro-parentheses]

    macro argument should be enclosed in parentheses

      124 |     template EXPORT void TYPE::serialize< geode::Deserializer >(               \
          |              ^
          |              (     )
  • include/geode/basic/bitsery_archive.hpp:127:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'BITSERY_CLASS_NAME' used; consider a 'constexpr' template function

      127 | #define BITSERY_CLASS_NAME( Type, Name )                                       \
          |         ^
  • include/geode/basic/cached_value.hpp:38:11: warning: [cppcoreguidelines-special-member-functions]

    class 'CachedValue' defines a copy constructor, a copy assignment operator, a move constructor and a move assignment operator but does not define a destructor

       38 |     class CachedValue
          |           ^
  • include/geode/basic/cached_value.hpp:43:22: warning: [modernize-type-traits]

    use c++14 style type templates

       43 |             typename std::add_pointer< ReturnType( Args... ) >::type;
          |             ~~~~~~~~ ^                                        ~~~~~~
          |                                      _t
  • include/geode/basic/cached_value.hpp:48:13: warning: [cppcoreguidelines-prefer-member-initializer]

    'value_' should be initialized in a member initializer of the constructor

       46 |         CachedValue( const CachedValue& other )
          |                                                
          |                                                 : value_(other.value_)
       47 |         {
       48 |             value_ = other.value_;
          |             ^~~~~~~~~~~~~~~~~~~~~~
  • include/geode/basic/cached_value.hpp:49:13: warning: [cppcoreguidelines-prefer-member-initializer]

    'computed_' should be initialized in a member initializer of the constructor

       46 |         CachedValue( const CachedValue& other )
          |                                                
          |                                                , computed_(other.computed_.load())
       47 |         {
       48 |             value_ = other.value_;
       49 |             computed_ = other.computed_.load();
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • include/geode/basic/cached_value.hpp:53:13: warning: [cppcoreguidelines-prefer-member-initializer]

    'value_' should be initialized in a member initializer of the constructor

       51 |         CachedValue( CachedValue&& other ) noexcept
          |                                                    
          |                                                     : value_(std::move( other.value_ ))
       52 |         {
       53 |             value_ = std::move( other.value_ );
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • include/geode/basic/cached_value.hpp:54:13: warning: [cppcoreguidelines-prefer-member-initializer]

    'computed_' should be initialized in a member initializer of the constructor

       51 |         CachedValue( CachedValue&& other ) noexcept
          |                                                    
          |                                                    , computed_(other.computed_.load())
       52 |         {
       53 |             value_ = std::move( other.value_ );
       54 |             computed_ = other.computed_.load();
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • include/geode/basic/cached_value.hpp:57:22: warning: [cert-oop54-cpp]

    operator=() does not handle self-assignment properly

       57 |         CachedValue& operator=( const CachedValue& other )
          |                      ^
  • include/geode/basic/cached_value.hpp:128:38: warning: [cppcoreguidelines-init-variables]

    variable 'computed' is not initialized

      128 |                                 bool computed;
          |                                      ^       
          |                                               = false
  • include/geode/basic/console_logger_client.hpp:32:31: warning: [cppcoreguidelines-special-member-functions]

    class 'ConsoleLoggerClient' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       32 |     class opengeode_basic_api ConsoleLoggerClient : public LoggerClient
          |                               ^
  • include/geode/basic/console_logger_client.hpp:36:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       36 |         ~ConsoleLoggerClient();
          |         ^                     
          |                                override
  • include/geode/basic/constant_attribute.hpp:121:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      121 |         ConstantAttribute( std::string_view name )
          |         ^
          |         explicit 
  • include/geode/basic/growable.hpp:52:39: warning: [cppcoreguidelines-pro-type-const-cast]

    do not use const_cast to remove const qualifier

       52 |             serializers_.back()( ser, const_cast< T & >( obj ) );
          |                                       ^
  • include/geode/basic/growable.hpp:76:31: warning: [readability-identifier-naming]

    invalid case style for constexpr variable 'SupportValueOverload'

       76 |         static constexpr bool SupportValueOverload = false;
          |                               ^~~~~~~~~~~~~~~~~~~~
          |                               SUPPORT_VALUE_OVERLOAD
  • include/geode/basic/growable.hpp:77:31: warning: [readability-identifier-naming]

    invalid case style for constexpr variable 'SupportObjectOverload'

       77 |         static constexpr bool SupportObjectOverload = true;
          |                               ^~~~~~~~~~~~~~~~~~~~~
          |                               SUPPORT_OBJECT_OVERLOAD
  • include/geode/basic/growable.hpp:78:31: warning: [readability-identifier-naming]

    invalid case style for constexpr variable 'SupportLambdaOverload'

       78 |         static constexpr bool SupportLambdaOverload = true;
          |                               ^~~~~~~~~~~~~~~~~~~~~
          |                               SUPPORT_LAMBDA_OVERLOAD
  • include/geode/basic/identifier.hpp:45:31: warning: [cppcoreguidelines-special-member-functions]

    class 'Identifier' defines a destructor, a move constructor and a move assignment operator but does not define a copy constructor or a copy assignment operator

       45 |     class opengeode_basic_api Identifier
          |                               ^
  • include/geode/basic/input.hpp:64:11: warning: [cppcoreguidelines-special-member-functions]

    class 'Input' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       64 |     class Input : public IOFile
          |           ^
  • include/geode/basic/input.hpp:77:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       77 |         ~Input()
          |         ^       
          |                  override
  • include/geode/basic/logger.hpp:41:31: warning: [cppcoreguidelines-special-member-functions]

    class 'Logger' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       41 |     class opengeode_basic_api Logger
          |                               ^
  • include/geode/basic/logger_client.hpp:30:31: warning: [cppcoreguidelines-special-member-functions]

    class 'LoggerClient' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       30 |     class opengeode_basic_api LoggerClient
          |                               ^
  • include/geode/basic/logger_manager.hpp:36:31: warning: [cppcoreguidelines-special-member-functions]

    class 'LoggerManager' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       36 |     class opengeode_basic_api LoggerManager
          |                               ^
  • include/geode/basic/passkey.hpp:63:9: warning: [cppcoreguidelines-macro-usage]

    function-like macro 'PASSKEY' used; consider a 'constexpr' template function

       63 | #define PASSKEY( Friend, Key /*key*/ ) using Key = geode::PassKey< Friend >
          |         ^
  • include/geode/basic/passkey.hpp:63:46: warning: [bugprone-macro-parentheses]

    macro argument should be enclosed in parentheses

       63 | #define PASSKEY( Friend, Key /*key*/ ) using Key = geode::PassKey< Friend >
          |                                              ^
          |                                              (  )
  • include/geode/basic/sparse_attribute.hpp:89:24: warning: [readability-simplify-boolean-expr]

    redundant boolean literal in conditional return statement

       87 |             if( value( element ) == default_values_.no_value )
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             return static_cast<bool>(value( element ) != default_values_.no_value)
       88 |             {
          |             ~
       89 |                 return false;
          |                 ~~~~~~~^~~~~~
       90 |             }
          |             ~
       91 |             return true;
          |             ~~~~~~~~~~~
  • include/geode/basic/sparse_attribute.hpp:134:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

      134 |             values_.reserve( 10 );
          |                              ^
  • include/geode/basic/sparse_attribute.hpp:137:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      137 |         SparseAttribute( std::string_view name )
          |         ^
          |         explicit 
  • include/geode/basic/sparse_attribute.hpp:164:62: warning: [readability-identifier-length]

    parameter name 'i' is too short, expected at least 3 characters

      164 |                              []( Archive& archive2, index_t& i, T& item ) {
          |                                                              ^
  • include/geode/basic/sparse_attribute.hpp:178:65: warning: [readability-identifier-length]

    parameter name 'i' is too short, expected at least 3 characters

      178 |                                 []( Archive& archive2, index_t& i, T& item ) {
          |                                                                 ^
  • include/geode/basic/sparse_attribute.hpp:183:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

      183 |             values_.reserve( 10 );
          |                              ^
  • include/geode/basic/sparse_attribute.hpp:295:31: warning: [readability-identifier-length]

    variable name 'in' is too short, expected at least 3 characters

      295 |             for( const auto& [in, outs] : old2new_mapping.in2out_map() )
          |                               ^
  • include/geode/basic/sparse_attribute.hpp:347:31: warning: [readability-identifier-length]

    variable name 'in' is too short, expected at least 3 characters

      347 |             for( const auto& [in, outs] : old2new_mapping.in2out_map() )
          |                               ^
  • include/geode/basic/variable_attribute.hpp:78:24: warning: [readability-simplify-boolean-expr]

    redundant boolean literal in conditional return statement

       76 |             if( values_[element] == default_values_.no_value )
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             return static_cast<bool>(values_[element] != default_values_.no_value)
       77 |             {
          |             ~
       78 |                 return false;
          |                 ~~~~~~~^~~~~~
       79 |             }
          |             ~
       80 |             return true;
          |             ~~~~~~~~~~~
  • include/geode/basic/variable_attribute.hpp:126:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

      126 |             values_.reserve( 10 );
          |                              ^
  • include/geode/basic/variable_attribute.hpp:129:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      129 |         VariableAttribute( std::string_view name )
          |         ^
          |         explicit 
  • include/geode/basic/variable_attribute.hpp:167:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

      167 |             values_.reserve( 10 );
          |                              ^
  • include/geode/basic/variable_attribute.hpp:322:31: warning: [readability-identifier-length]

    variable name 'in' is too short, expected at least 3 characters

      322 |             for( const auto& [in, outs] : old2new_mapping.in2out_map() )
          |                               ^
  • include/geode/basic/variable_attribute.hpp:351:55: warning: [hicpp-move-const-arg]

    std::move of the variable 'properties' of the trivially-copyable type 'AttributeProperties' has no effect; remove std::move()

      351 |             : VariableAttribute( default_value, name, std::move( properties ) )
          |                                                       ^~~~~~~~~~            ~
  • include/geode/basic/variable_attribute.hpp:357:20: warning: [cppcoreguidelines-pro-type-reinterpret-cast]

    do not use reinterpret_cast

      357 |             return reinterpret_cast< const bool& >( values_[element] );
          |                    ^
  • include/geode/basic/variable_attribute.hpp:364:24: warning: [readability-simplify-boolean-expr]

    redundant boolean literal in conditional return statement

      362 |             if( value( element ) == default_values_.no_value )
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             return value( element ) != default_values_.no_value
      363 |             {
          |             ~
      364 |                 return false;
          |                 ~~~~~~~^~~~~~
      365 |             }
          |             ~
      366 |             return true;
          |             ~~~~~~~~~~~
  • include/geode/basic/variable_attribute.hpp:371:32: warning: [hicpp-move-const-arg]

    std::move of the variable 'value' of the trivially-copyable type 'bool' has no effect; remove std::move()

      371 |             values_[element] = std::move( value );
          |                                ^~~~~~~~~~       ~
  • include/geode/basic/variable_attribute.hpp:371:32: warning: [readability-implicit-bool-conversion]

    implicit conversion 'bool' -> 'value_type' (aka 'unsigned char')

      371 |             values_[element] = std::move( value );
          |                                ^                 
          |                                static_cast<value_type>( )
  • include/geode/basic/variable_attribute.hpp:382:23: warning: [cppcoreguidelines-pro-type-reinterpret-cast]

    do not use reinterpret_cast

      382 |             modifier( reinterpret_cast< bool& >( values_[element] ) );
          |                       ^
  • include/geode/basic/variable_attribute.hpp:409:48: warning: [hicpp-move-const-arg]

    std::move of the variable 'properties' of the trivially-copyable type 'AttributeProperties' has no effect; remove std::move()

      409 |             : ReadOnlyAttribute< bool >( name, std::move( properties ) ),
          |                                                ^~~~~~~~~~            ~
  • include/geode/basic/variable_attribute.hpp:412:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

      412 |             values_.reserve( 10 );
          |                              ^
  • include/geode/basic/variable_attribute.hpp:415:9: warning: [cppcoreguidelines-pro-type-member-init]

    constructor does not initialize these fields: default_values_

      415 |         VariableAttribute( std::string_view name )
          |         ^
  • include/geode/basic/variable_attribute.hpp:415:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      415 |         VariableAttribute( std::string_view name )
          |         ^
          |         explicit 
  • include/geode/basic/variable_attribute.hpp:418:9: warning: [cppcoreguidelines-pro-type-member-init]

    constructor does not initialize these fields: default_values_

      418 |         VariableAttribute()
          |         ^
  • include/geode/basic/variable_attribute.hpp:430:31: warning: [cppcoreguidelines-init-variables]

    variable 'old_value' is not initialized

      430 |                          bool old_value;
          |                               ^        
          |                                         = false
  • include/geode/basic/variable_attribute.hpp:449:30: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

      449 |             values_.reserve( 10 );
          |                              ^
  • include/geode/basic/variable_attribute.hpp:488:38: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      488 |                     default_values_, this->name().value(), this->properties() }
          |                                      ^
  • include/geode/basic/variable_attribute.hpp:506:34: warning: [readability-implicit-bool-conversion]

    implicit conversion 'bool' -> 'value_type' (aka 'unsigned char')

      506 |                     values_[i] = typed_attribute.value( i );
          |                                  ^                         
          |                                  static_cast<value_type>(  )
  • include/geode/basic/variable_attribute.hpp:518:38: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      518 |                     default_values_, this->name().value(), this->properties() }
          |                                      ^
  • include/geode/basic/variable_attribute.hpp:549:38: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      549 |                     default_values_, this->name().value(), this->properties() }
          |                                      ^
  • include/geode/basic/variable_attribute.hpp:553:31: warning: [readability-identifier-length]

    variable name 'in' is too short, expected at least 3 characters

      553 |             for( const auto& [in, outs] : old2new_mapping.in2out_map() )
          |                               ^
  • include/geode/basic/variable_attribute.hpp:604:31: warning: [readability-identifier-length]

    variable name 'in' is too short, expected at least 3 characters

      604 |             for( const auto& [in, outs] : old2new_mapping.in2out_map() )
          |                               ^
  • include/geode/basic/variable_attribute.hpp:615:45: warning: [readability-redundant-member-init]

    initializer for member 'values_' is redundant

      615 |         std::vector< unsigned char > values_{};
          |                                             ^~
  • include/geode/geometry/information.hpp:30:17: warning: [performance-enum-size]

    enum 'SIDE' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       30 |     enum struct SIDE
          |                 ^
  • include/geode/geometry/information.hpp:39:17: warning: [performance-enum-size]

    enum 'POSITION' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       39 |     enum struct POSITION
          |                 ^
  • include/geode/mesh/builder/geode/geode_vertex_set_builder.hpp:42:30: warning: [cppcoreguidelines-special-member-functions]

    class 'OpenGeodeVertexSetBuilder' defines a move constructor but does not define a destructor, a copy constructor, a copy assignment operator or a move assignment operator

       42 |     class opengeode_mesh_api OpenGeodeVertexSetBuilder : public VertexSetBuilder
          |                              ^
  • include/geode/mesh/builder/geode/geode_vertex_set_builder.hpp:55:42: warning: [readability-identifier-length]

    parameter name 'nb' is too short, expected at least 3 characters

       55 |         void do_create_vertices( index_t nb ) final;
          |                                          ^
  • include/geode/mesh/builder/vertex_set_builder.hpp:47:30: warning: [cppcoreguidelines-special-member-functions]

    class 'VertexSetBuilder' defines a default destructor, a copy constructor, a copy assignment operator and a move constructor but does not define a move assignment operator

       47 |     class opengeode_mesh_api VertexSetBuilder : public IdentifierBuilder
          |                              ^
  • include/geode/mesh/builder/vertex_set_builder.hpp:75:42: warning: [readability-identifier-length]

    parameter name 'nb' is too short, expected at least 3 characters

       75 |         index_t create_vertices( index_t nb );
          |                                          ^
  • include/geode/mesh/builder/vertex_set_builder.hpp:108:50: warning: [readability-identifier-length]

    parameter name 'nb' is too short, expected at least 3 characters

      108 |         virtual void do_create_vertices( index_t nb ) = 0;
          |                                                  ^
  • include/geode/mesh/core/attribute_coordinate_reference_system.hpp:39:11: warning: [cppcoreguidelines-special-member-functions]

    class 'AttributeCoordinateReferenceSystem' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       39 |     class AttributeCoordinateReferenceSystem
          |           ^
  • include/geode/mesh/core/coordinate_reference_system_manager.hpp:48:11: warning: [cppcoreguidelines-special-member-functions]

    class 'CoordinateReferenceSystemManager' defines a destructor and a move constructor but does not define a copy constructor, a copy assignment operator or a move assignment operator

       48 |     class CoordinateReferenceSystemManager
          |           ^
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:48:11: warning: [cppcoreguidelines-special-member-functions]

    class 'CoordinateReferenceSystemManagers' defines a destructor, a move constructor and a move assignment operator but does not define a copy constructor or a copy assignment operator

       48 |     class CoordinateReferenceSystemManagers
          |           ^
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:59:13: warning: [readability-identifier-naming]

    invalid case style for function 'coordinate_reference_system_manager1D'

       59 |             coordinate_reference_system_manager1D() const;
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             coordinate_reference_system_manager1_d
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:62:13: warning: [readability-identifier-naming]

    invalid case style for function 'coordinate_reference_system_manager2D'

       62 |             coordinate_reference_system_manager2D() const;
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             coordinate_reference_system_manager2_d
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:65:13: warning: [readability-identifier-naming]

    invalid case style for function 'coordinate_reference_system_manager3D'

       65 |             coordinate_reference_system_manager3D() const;
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             coordinate_reference_system_manager3_d
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:74:13: warning: [readability-identifier-naming]

    invalid case style for function 'coordinate_reference_system_manager1D'

       74 |             coordinate_reference_system_manager1D( CRSManagersKey /*key*/ );
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             coordinate_reference_system_manager1_d
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:77:13: warning: [readability-identifier-naming]

    invalid case style for function 'coordinate_reference_system_manager2D'

       77 |             coordinate_reference_system_manager2D( CRSManagersKey /*key*/ );
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             coordinate_reference_system_manager2_d
  • include/geode/mesh/core/coordinate_reference_system_managers.hpp:80:13: warning: [readability-identifier-naming]

    invalid case style for function 'coordinate_reference_system_manager3D'

       80 |             coordinate_reference_system_manager3D( CRSManagersKey /*key*/ );
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             coordinate_reference_system_manager3_d
  • include/geode/mesh/core/detail/facet_storage.hpp:39:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       39 | namespace geode
          | ^~~~~~~~~~~~~~~
       40 | {
          | ~
       41 |     namespace detail
          |     ~~~~~~~~~~~~~~~~
          |     namespace geode::detail
  • include/geode/mesh/core/detail/facet_storage.hpp:60:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       60 |             FacetStorage( BITSERY ) {}
          |             ^
          |             explicit 
  • include/geode/mesh/core/detail/facet_storage.hpp:60:27: error: [clang-diagnostic-error]

    unknown type name 'BITSERY'

       60 |             FacetStorage( BITSERY ) {}
          |                           ^
  • include/geode/mesh/core/detail/facet_storage.hpp:60:35: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       60 |             FacetStorage( BITSERY ) {}
          |                                   ^
          |                                    /*unused*/
  • include/geode/mesh/core/detail/facet_storage.hpp:68:17: warning: [cppcoreguidelines-pro-type-member-init]

    uninitialized record type: 'counter_values'

       68 |                 AttributeValues< index_t > counter_values;
          |                 ^                                        
          |                                                          {}
  • include/geode/mesh/core/detail/facet_storage.hpp:69:48: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

       69 |                 counter_values.default_value = 1u;
          |                                                ^~
          |                                                 U
  • include/geode/mesh/core/detail/facet_storage.hpp:110:28: warning: [readability-identifier-length]

    variable name 'id' is too short, expected at least 3 characters

      110 |                 const auto id = facet_indices_.size();
          |                            ^
  • include/geode/mesh/core/detail/facet_storage.hpp:113:28: warning: [readability-identifier-length]

    variable name 'it' is too short, expected at least 3 characters

      113 |                 const auto it = std::get< 0 >( output );
          |                            ^
  • include/geode/mesh/core/detail/facet_storage.hpp:128:28: warning: [readability-identifier-length]

    variable name 'it' is too short, expected at least 3 characters

      128 |                 const auto it = facet_indices_.find( vertices );
          |                            ^
  • include/geode/mesh/core/detail/facet_storage.hpp:133:28: warning: [readability-identifier-length]

    variable name 'id' is too short, expected at least 3 characters

      133 |                 const auto id = it->second;
          |                            ^
  • include/geode/mesh/core/detail/facet_storage.hpp:138:50: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

      138 |                 const auto new_count = std::max( 1u, old_count ) - 1;
          |                                                  ^~
          |                                                   U
  • include/geode/mesh/core/detail/facet_storage.hpp:216:36: warning: [readability-identifier-length]

    variable name 'it' is too short, expected at least 3 characters

      216 |                         const auto it =
          |                                    ^
  • include/geode/mesh/core/detail/facet_storage.hpp:261:17: warning: [cppcoreguidelines-pro-type-member-init]

    uninitialized record type: 'counter_values'

      261 |                 AttributeValues< index_t > counter_values;
          |                 ^                                        
          |                                                          {}
  • include/geode/mesh/core/detail/facet_storage.hpp:262:48: warning: [hicpp-uppercase-literal-suffix]

    integer literal has suffix 'u', which is not uppercase

      262 |                 counter_values.default_value = 1u;
          |                                                ^~
          |                                                 U
  • include/geode/mesh/core/detail/facet_storage.hpp:320:48: error: [clang-diagnostic-error]

    no member named 'StdSmartPtr' in namespace 'bitsery::ext'

      320 |                                  bitsery::ext::StdSmartPtr{} );
          |                                  ~~~~~~~~~~~~~~^
  • include/geode/mesh/core/detail/facet_storage.hpp:322:48: error: [clang-diagnostic-error]

    no member named 'StdSmartPtr' in namespace 'bitsery::ext'

      322 |                                  bitsery::ext::StdSmartPtr{} );
          |                                  ~~~~~~~~~~~~~~^
  • include/geode/mesh/core/detail/facet_storage.hpp:350:51: error: [clang-diagnostic-error]

    no member named 'StdSmartPtr' in namespace 'bitsery::ext'

      350 |                                     bitsery::ext::StdSmartPtr{} );
          |                                     ~~~~~~~~~~~~~~^
  • include/geode/mesh/core/detail/facet_storage.hpp:352:51: error: [clang-diagnostic-error]

    no member named 'StdSmartPtr' in namespace 'bitsery::ext'

      352 |                                     bitsery::ext::StdSmartPtr{} );
          |                                     ~~~~~~~~~~~~~~^
  • include/geode/mesh/core/edged_curve.hpp:45:11: warning: [cppcoreguidelines-special-member-functions]

    class 'EdgedCurve' defines a destructor, a move constructor and a move assignment operator but does not define a copy constructor or a copy assignment operator

       45 |     class EdgedCurve : public Graph,
          |           ^
  • include/geode/mesh/core/edged_curve.hpp:54:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       54 |         EdgedCurve( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/edged_curve.hpp:56:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       56 |         ~EdgedCurve();
          |         ^            
          |                       override
  • include/geode/mesh/core/geode/geode_edged_curve.hpp:53:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       53 |         OpenGeodeEdgedCurve( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_graph.hpp:40:30: warning: [cppcoreguidelines-special-member-functions]

    class 'OpenGeodeGraph' defines a destructor, a move constructor and a move assignment operator but does not define a copy constructor or a copy assignment operator

       40 |     class opengeode_mesh_api OpenGeodeGraph : public Graph
          |                              ^
  • include/geode/mesh/core/geode/geode_graph.hpp:46:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       46 |         OpenGeodeGraph( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_graph.hpp:49:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       49 |         ~OpenGeodeGraph();
          |         ^                
          |                           override
  • include/geode/mesh/core/geode/geode_graph.hpp:68:20: warning: [llvm-qualified-auto]

    'const auto extension' can be declared as 'const auto *const extension'

       68 |             static const auto extension = "og_grp";
          |                    ^~~~~~~~~~
          |                    const auto *const 
  • include/geode/mesh/core/geode/geode_hybrid_solid.hpp:55:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       55 |         OpenGeodeHybridSolid( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_hybrid_solid.hpp:101:57: warning: [cppcoreguidelines-avoid-magic-numbers]

    8 is a magic number; consider replacing it with a named constant

      101 |         void add_hexahedron( const std::array< index_t, 8 >& vertices,
          |                                                         ^
  • include/geode/mesh/core/geode/geode_hybrid_solid.hpp:104:52: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

      104 |         void add_prism( const std::array< index_t, 6 >& vertices,
          |                                                    ^
  • include/geode/mesh/core/geode/geode_hybrid_solid.hpp:107:54: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      107 |         void add_pyramid( const std::array< index_t, 5 >& vertices,
          |                                                      ^
  • include/geode/mesh/core/geode/geode_point_set.hpp:54:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       54 |         OpenGeodePointSet( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_polygonal_surface.hpp:53:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       53 |         OpenGeodePolygonalSurface( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:53:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       53 |         OpenGeodePolyhedralSolid( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:115:9: warning: [modernize-use-nodiscard]

    function 'get_polyhedron_vertex' should be marked [[nodiscard]]

      115 |         index_t get_polyhedron_vertex(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:118:9: warning: [modernize-use-nodiscard]

    function 'get_nb_polyhedron_vertices' should be marked [[nodiscard]]

      118 |         local_index_t get_nb_polyhedron_vertices(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:121:9: warning: [modernize-use-nodiscard]

    function 'get_nb_polyhedron_facets' should be marked [[nodiscard]]

      121 |         local_index_t get_nb_polyhedron_facets(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:124:9: warning: [modernize-use-nodiscard]

    function 'get_nb_polyhedron_facet_vertices' should be marked [[nodiscard]]

      124 |         local_index_t get_nb_polyhedron_facet_vertices(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:127:9: warning: [modernize-use-nodiscard]

    function 'get_polyhedron_facet_vertex_id' should be marked [[nodiscard]]

      127 |         PolyhedronVertex get_polyhedron_facet_vertex_id(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_polyhedral_solid.hpp:131:9: warning: [modernize-use-nodiscard]

    function 'get_polyhedron_adjacent' should be marked [[nodiscard]]

      131 |         std::optional< index_t > get_polyhedron_adjacent(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:56:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       56 |         OpenGeodeRegularGrid( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:60:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       60 |         ~OpenGeodeRegularGrid();
          |         ^                      
          |                                 override
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:79:20: warning: [llvm-qualified-auto]

    'const auto extension' can be declared as 'const auto *const extension'

       79 |             static const auto extension = "og_rgd3d";
          |                    ^~~~~~~~~~
          |                    const auto *const 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:100:9: warning: [modernize-use-nodiscard]

    function 'get_polyhedron_vertex' should be marked [[nodiscard]]

      100 |         index_t get_polyhedron_vertex(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:103:9: warning: [modernize-use-nodiscard]

    function 'get_polyhedron_facet_vertex_id' should be marked [[nodiscard]]

      103 |         PolyhedronVertex get_polyhedron_facet_vertex_id(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:107:9: warning: [modernize-use-nodiscard]

    function 'get_polyhedron_adjacent' should be marked [[nodiscard]]

      107 |         std::optional< index_t > get_polyhedron_adjacent(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:110:9: warning: [modernize-use-nodiscard]

    function 'cell_index' should be marked [[nodiscard]]

      110 |         index_t cell_index( const Grid3D::CellIndices& index ) const override;
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:112:9: warning: [modernize-use-nodiscard]

    function 'cell_indices' should be marked [[nodiscard]]

      112 |         Grid3D::CellIndices cell_indices( index_t index ) const override;
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:114:9: warning: [modernize-use-nodiscard]

    function 'vertex_index' should be marked [[nodiscard]]

      114 |         index_t vertex_index(
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_solid.hpp:117:9: warning: [modernize-use-nodiscard]

    function 'vertex_indices' should be marked [[nodiscard]]

      117 |         Grid3D::VertexIndices vertex_indices( index_t index ) const override;
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/geode/geode_regular_grid_surface.hpp:56:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       56 |         OpenGeodeRegularGrid( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_regular_grid_surface.hpp:60:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       60 |         ~OpenGeodeRegularGrid();
          |         ^                      
          |                                 override
  • include/geode/mesh/core/geode/geode_regular_grid_surface.hpp:79:20: warning: [llvm-qualified-auto]

    'const auto extension' can be declared as 'const auto *const extension'

       79 |             static const auto extension = "og_rgd2d";
          |                    ^~~~~~~~~~
          |                    const auto *const 
  • include/geode/mesh/core/geode/geode_tetrahedral_solid.hpp:55:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       55 |         OpenGeodeTetrahedralSolid( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_triangulated_surface.hpp:55:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       55 |         OpenGeodeTriangulatedSurface( BITSERY bitsery );
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_vertex_set.hpp:37:1: warning: [llvm-namespace-comment]

    namespace 'geode' not terminated with a closing comment

       37 | }
          | ^
          |   // namespace geode
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/geode/geode_vertex_set.hpp:34:11: note: namespace 'geode' starts here
       34 | namespace geode
          |           ^
  • include/geode/mesh/core/geode/geode_vertex_set.hpp:47:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       47 |         OpenGeodeVertexSet( BITSERY ) {};
          |         ^
          |         explicit 
  • include/geode/mesh/core/geode/geode_vertex_set.hpp:47:37: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       47 |         OpenGeodeVertexSet( BITSERY ) {};
          |                                     ^
          |                                      /*unused*/

Have any feedback or feature suggestions? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants