Skip to content

Feat/add explicit to passkey constructor - #1315

Merged
BotellaA merged 2 commits into
v18from
feat/add_explicit_to_passkey_constructor
Aug 5, 2026
Merged

Feat/add explicit to passkey constructor#1315
BotellaA merged 2 commits into
v18from
feat/add_explicit_to_passkey_constructor

Conversation

@BenPinet

@BenPinet BenPinet commented Aug 5, 2026

Copy link
Copy Markdown
Member

No description provided.

@BenPinet
BenPinet requested a review from BotellaA August 5, 2026 07:10
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 361 concern(s)
  • 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/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/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/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/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/graph.hpp:52:21: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'EdgeVertex' of convertible types are easily swapped by mistake

       52 |         EdgeVertex( index_t edge_id_in, local_index_t vertex_id_in )
          |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/graph.hpp:52:29: note: the first parameter in the range is 'edge_id_in'
       52 |         EdgeVertex( index_t edge_id_in, local_index_t vertex_id_in )
          |                             ^~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/graph.hpp:52:55: note: the last parameter in the range is 'vertex_id_in'
       52 |         EdgeVertex( index_t edge_id_in, local_index_t vertex_id_in )
          |                                                       ^~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/graph.hpp:52:21: note: 
       52 |         EdgeVertex( index_t edge_id_in, local_index_t vertex_id_in )
          |                     ^
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/graph.hpp:52:41: note: 'index_t' and 'local_index_t' may be implicitly converted: 'index_t' (as 'unsigned int') -> 'local_index_t' (as 'unsigned char'), 'local_index_t' (as 'unsigned char') -> 'index_t' (as 'unsigned int')
       52 |         EdgeVertex( index_t edge_id_in, local_index_t vertex_id_in )
          |                                         ^
  • include/geode/mesh/core/graph.hpp:85:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

       85 |         friend H AbslHashValue( H h, const EdgeVertex& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/graph.hpp:85:35: warning: [readability-identifier-length]

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

       85 |         friend H AbslHashValue( H h, const EdgeVertex& value )
          |                                   ^
  • include/geode/mesh/core/graph.hpp:108:30: warning: [cppcoreguidelines-special-member-functions]

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

      108 |     class opengeode_mesh_api Graph : public VertexSet
          |                              ^
  • include/geode/mesh/core/graph.hpp:115:9: warning: [google-explicit-constructor]

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

      115 |         Graph( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/graph.hpp:117:9: warning: [cppcoreguidelines-explicit-virtual-functions]

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

      117 |         ~Graph();
          |         ^       
          |                  override
  • include/geode/mesh/core/graph.hpp:172:21: warning: [readability-identifier-length]

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

      172 |             index_t v0, index_t v1 ) const;
          |                     ^
  • include/geode/mesh/core/graph.hpp:172:33: warning: [readability-identifier-length]

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

      172 |             index_t v0, index_t v1 ) const;
          |                                 ^
  • include/geode/mesh/core/grid.hpp:63:57: warning: [hicpp-signed-bitwise]

    use of a signed integer operand with a binary bitwise operator

       63 |         using CellVertices = std::array< VertexIndices, 1 << dimension >;
          |                                                         ^ ~~
  • include/geode/mesh/core/grid.hpp:65:47: warning: [hicpp-signed-bitwise]

    use of a signed integer operand with a binary bitwise operator

       65 |             absl::InlinedVector< CellIndices, 1 << dimension >;
          |                                               ^ ~~
  • include/geode/mesh/core/grid.hpp:80:20: warning: [hicpp-signed-bitwise]

    use of a signed integer operand with a binary bitwise operator

       80 |             return 1 << dimension;
          |                    ^ ~~
  • include/geode/mesh/core/solid_edges.hpp:48:11: warning: [cppcoreguidelines-special-member-functions]

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

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

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

       41 |     class SolidFacets
          |           ^
  • include/geode/mesh/core/solid_mesh.hpp:64:27: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'PolyhedronVertex' of convertible types are easily swapped by mistake

       64 |         PolyhedronVertex( index_t polyhedron_id_in, local_index_t vertex_id_in )
          |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:64:35: note: the first parameter in the range is 'polyhedron_id_in'
       64 |         PolyhedronVertex( index_t polyhedron_id_in, local_index_t vertex_id_in )
          |                                   ^~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:64:67: note: the last parameter in the range is 'vertex_id_in'
       64 |         PolyhedronVertex( index_t polyhedron_id_in, local_index_t vertex_id_in )
          |                                                                   ^~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:64:27: note: 
       64 |         PolyhedronVertex( index_t polyhedron_id_in, local_index_t vertex_id_in )
          |                           ^
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:64:53: note: 'index_t' and 'local_index_t' may be implicitly converted: 'index_t' (as 'unsigned int') -> 'local_index_t' (as 'unsigned char'), 'local_index_t' (as 'unsigned char') -> 'index_t' (as 'unsigned int')
       64 |         PolyhedronVertex( index_t polyhedron_id_in, local_index_t vertex_id_in )
          |                                                     ^
  • include/geode/mesh/core/solid_mesh.hpp:93:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

       93 |         friend H AbslHashValue( H h, const PolyhedronVertex& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/solid_mesh.hpp:93:35: warning: [readability-identifier-length]

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

       93 |         friend H AbslHashValue( H h, const PolyhedronVertex& value )
          |                                   ^
  • include/geode/mesh/core/solid_mesh.hpp:110:26: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'PolyhedronFacet' of convertible types are easily swapped by mistake

      110 |         PolyhedronFacet( index_t polyhedron_id_in, local_index_t facet_id_in )
          |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:110:34: note: the first parameter in the range is 'polyhedron_id_in'
      110 |         PolyhedronFacet( index_t polyhedron_id_in, local_index_t facet_id_in )
          |                                  ^~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:110:66: note: the last parameter in the range is 'facet_id_in'
      110 |         PolyhedronFacet( index_t polyhedron_id_in, local_index_t facet_id_in )
          |                                                                  ^~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:110:26: note: 
      110 |         PolyhedronFacet( index_t polyhedron_id_in, local_index_t facet_id_in )
          |                          ^
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/solid_mesh.hpp:110:52: note: 'index_t' and 'local_index_t' may be implicitly converted: 'index_t' (as 'unsigned int') -> 'local_index_t' (as 'unsigned char'), 'local_index_t' (as 'unsigned char') -> 'index_t' (as 'unsigned int')
      110 |         PolyhedronFacet( index_t polyhedron_id_in, local_index_t facet_id_in )
          |                                                    ^
  • include/geode/mesh/core/solid_mesh.hpp:139:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

      139 |         friend H AbslHashValue( H h, const PolyhedronFacet& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/solid_mesh.hpp:139:35: warning: [readability-identifier-length]

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

      139 |         friend H AbslHashValue( H h, const PolyhedronFacet& value )
          |                                   ^
  • include/geode/mesh/core/solid_mesh.hpp:154:33: warning: [hicpp-move-const-arg]

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

      154 |             : polyhedron_facet( std::move( facet ) ), vertex_id( vertex_id_in )
          |                                 ^~~~~~~~~~       ~
  • include/geode/mesh/core/solid_mesh.hpp:185:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

      185 |         friend H AbslHashValue( H h, const PolyhedronFacetVertex& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/solid_mesh.hpp:185:35: warning: [readability-identifier-length]

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

      185 |         friend H AbslHashValue( H h, const PolyhedronFacetVertex& value )
          |                                   ^
  • include/geode/mesh/core/solid_mesh.hpp:199:33: warning: [hicpp-move-const-arg]

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

      199 |             : polyhedron_facet( std::move( facet ) ), edge_id( edge_id_in )
          |                                 ^~~~~~~~~~       ~
  • include/geode/mesh/core/solid_mesh.hpp:228:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

      228 |         friend H AbslHashValue( H h, const PolyhedronFacetEdge& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/solid_mesh.hpp:228:35: warning: [readability-identifier-length]

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

      228 |         friend H AbslHashValue( H h, const PolyhedronFacetEdge& value )
          |                                   ^
  • include/geode/mesh/core/solid_mesh.hpp:239:56: warning: [cppcoreguidelines-avoid-magic-numbers]

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

      239 |         absl::InlinedVector< std::array< index_t, 2 >, 6 >;
          |                                                        ^
  • include/geode/mesh/core/solid_mesh.hpp:258:74: warning: [cppcoreguidelines-avoid-magic-numbers]

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

      258 |     using PolyhedraAroundVertex = absl::InlinedVector< PolyhedronVertex, 20 >;
          |                                                                          ^
  • include/geode/mesh/core/solid_mesh.hpp:260:63: warning: [cppcoreguidelines-avoid-magic-numbers]

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

      260 |     using PolyhedraAroundEdge = absl::InlinedVector< index_t, 10 >;
          |                                                               ^
  • include/geode/mesh/core/solid_mesh.hpp:279:68: warning: [cppcoreguidelines-avoid-magic-numbers]

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

      279 |         using VerticesAroundVertex = absl::InlinedVector< index_t, 20 >;
          |                                                                    ^
  • include/geode/mesh/core/solid_mesh.hpp:281:9: warning: [google-explicit-constructor]

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

      281 |         SolidMesh( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/solid_mesh.hpp:283:9: warning: [cppcoreguidelines-explicit-virtual-functions]

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

      283 |         ~SolidMesh();
          |         ^           
          |                      override
  • include/geode/mesh/core/solid_mesh.hpp:298:9: warning: [modernize-use-nodiscard]

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

      298 |         index_t nb_polyhedra() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/mesh/core/surface_edges.hpp:48:30: warning: [cppcoreguidelines-special-member-functions]

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

       48 |     class opengeode_mesh_api SurfaceEdges
          |                              ^
  • include/geode/mesh/core/surface_mesh.hpp:64:24: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'PolygonVertex' of convertible types are easily swapped by mistake

       64 |         PolygonVertex( index_t polygon_id_in, local_index_t vertex_id_in )
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:64:32: note: the first parameter in the range is 'polygon_id_in'
       64 |         PolygonVertex( index_t polygon_id_in, local_index_t vertex_id_in )
          |                                ^~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:64:61: note: the last parameter in the range is 'vertex_id_in'
       64 |         PolygonVertex( index_t polygon_id_in, local_index_t vertex_id_in )
          |                                                             ^~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:64:24: note: 
       64 |         PolygonVertex( index_t polygon_id_in, local_index_t vertex_id_in )
          |                        ^
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:64:47: note: 'index_t' and 'local_index_t' may be implicitly converted: 'index_t' (as 'unsigned int') -> 'local_index_t' (as 'unsigned char'), 'local_index_t' (as 'unsigned char') -> 'index_t' (as 'unsigned int')
       64 |         PolygonVertex( index_t polygon_id_in, local_index_t vertex_id_in )
          |                                               ^
  • include/geode/mesh/core/surface_mesh.hpp:94:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

       94 |         friend H AbslHashValue( H h, const PolygonVertex& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/surface_mesh.hpp:94:35: warning: [readability-identifier-length]

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

       94 |         friend H AbslHashValue( H h, const PolygonVertex& value )
          |                                   ^
  • include/geode/mesh/core/surface_mesh.hpp:110:22: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'PolygonEdge' of convertible types are easily swapped by mistake

      110 |         PolygonEdge( index_t polygon_id_in, local_index_t edge_id_in )
          |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:110:30: note: the first parameter in the range is 'polygon_id_in'
      110 |         PolygonEdge( index_t polygon_id_in, local_index_t edge_id_in )
          |                              ^~~~~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:110:59: note: the last parameter in the range is 'edge_id_in'
      110 |         PolygonEdge( index_t polygon_id_in, local_index_t edge_id_in )
          |                                                           ^~~~~~~~~~
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:110:22: note: 
      110 |         PolygonEdge( index_t polygon_id_in, local_index_t edge_id_in )
          |                      ^
    /__w/OpenGeode/OpenGeode/include/geode/mesh/core/surface_mesh.hpp:110:45: note: 'index_t' and 'local_index_t' may be implicitly converted: 'index_t' (as 'unsigned int') -> 'local_index_t' (as 'unsigned char'), 'local_index_t' (as 'unsigned char') -> 'index_t' (as 'unsigned int')
      110 |         PolygonEdge( index_t polygon_id_in, local_index_t edge_id_in )
          |                                             ^
  • include/geode/mesh/core/surface_mesh.hpp:139:18: warning: [readability-identifier-naming]

    invalid case style for global function 'AbslHashValue'

      139 |         friend H AbslHashValue( H h, const PolygonEdge& value )
          |                  ^~~~~~~~~~~~~
          |                  absl_hash_value
  • include/geode/mesh/core/surface_mesh.hpp:139:35: warning: [readability-identifier-length]

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

      139 |         friend H AbslHashValue( H h, const PolygonEdge& value )
          |                                   ^
  • include/geode/mesh/core/surface_mesh.hpp:153:70: warning: [cppcoreguidelines-avoid-magic-numbers]

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

      153 |     using PolygonsAroundVertex = absl::InlinedVector< PolygonVertex, 10 >;
          |                                                                      ^
  • include/geode/mesh/core/surface_mesh.hpp:172:68: warning: [cppcoreguidelines-avoid-magic-numbers]

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

      172 |         using VerticesAroundVertex = absl::InlinedVector< index_t, 10 >;
          |                                                                    ^
  • include/geode/mesh/core/surface_mesh.hpp:174:9: warning: [google-explicit-constructor]

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

      174 |         SurfaceMesh( BITSERY );
          |         ^
          |         explicit 
  • include/geode/mesh/core/surface_mesh.hpp:176:9: warning: [cppcoreguidelines-explicit-virtual-functions]

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

      176 |         ~SurfaceMesh();
          |         ^             
          |                        override
  • include/geode/mesh/core/texture_storage.hpp:48:11: warning: [cppcoreguidelines-special-member-functions]

    class 'TextureStorage' 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 TextureStorage
          |           ^
  • include/geode/model/mixin/builder/blocks_builder.hpp:57:45: warning: [readability-identifier-length]

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

       57 |             block_mesh_builder( const uuid& id )
          |                                             ^
  • include/geode/model/mixin/builder/blocks_builder.hpp:69:42: warning: [readability-identifier-length]

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

       69 |         void set_block_name( const uuid& id, std::string_view name );
          |                                          ^
  • include/geode/model/mixin/builder/blocks_builder.hpp:71:44: warning: [readability-identifier-length]

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

       71 |         void set_block_active( const uuid& id, bool active );
          |                                            ^
  • include/geode/model/mixin/builder/blocks_builder.hpp:74:43: warning: [readability-identifier-length]

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

       74 |             steal_block_mesh( const uuid& id );
          |                                           ^
  • include/geode/model/mixin/builder/blocks_builder.hpp:93:25: warning: [readability-identifier-length]

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

       93 |             const uuid& id, std::unique_ptr< SolidMesh< dimension > > mesh );
          |                         ^
  • include/geode/model/mixin/builder/blocks_builder.hpp:96:25: warning: [readability-identifier-length]

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

       96 |             const uuid& id );
          |                         ^
  • include/geode/model/mixin/builder/surfaces_builder.hpp:57:47: warning: [readability-identifier-length]

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

       57 |             surface_mesh_builder( const uuid& id )
          |                                               ^
  • include/geode/model/mixin/builder/surfaces_builder.hpp:69:44: warning: [readability-identifier-length]

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

       69 |         void set_surface_name( const uuid& id, std::string_view name );
          |                                            ^
  • include/geode/model/mixin/builder/surfaces_builder.hpp:71:46: warning: [readability-identifier-length]

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

       71 |         void set_surface_active( const uuid& id, bool active );
          |                                              ^
  • include/geode/model/mixin/builder/surfaces_builder.hpp:74:45: warning: [readability-identifier-length]

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

       74 |             steal_surface_mesh( const uuid& id );
          |                                             ^
  • include/geode/model/mixin/builder/surfaces_builder.hpp:93:25: warning: [readability-identifier-length]

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

       93 |             const uuid& id, std::unique_ptr< SurfaceMesh< dimension > > mesh );
          |                         ^
  • include/geode/model/mixin/builder/surfaces_builder.hpp:96:25: warning: [readability-identifier-length]

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

       96 |             const uuid& id );
          |                         ^
  • include/geode/model/mixin/builder/vertex_identifier_builder.hpp:79:49: warning: [readability-identifier-length]

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

       79 |         index_t create_unique_vertices( index_t nb );
          |                                                 ^
  • include/geode/model/mixin/core/block.hpp:51:11: warning: [cppcoreguidelines-special-member-functions]

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

       51 |     class Block final : public Component< dimension >
          |           ^
  • include/geode/model/mixin/core/block_collection.hpp:44:11: warning: [cppcoreguidelines-special-member-functions]

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

       44 |     class BlockCollection : public Component< dimension >
          |           ^
  • include/geode/model/mixin/core/block_collection.hpp:67:9: warning: [google-explicit-constructor]

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

       67 |         BlockCollection( BlockCollectionsKey /*key*/ ) : BlockCollection() {}
          |         ^
          |         explicit 
  • include/geode/model/mixin/core/block_collections.hpp:52:35: warning: [cppcoreguidelines-special-member-functions]

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

       52 |         class opengeode_model_api BlockCollectionRangeBase
          |                                   ^
  • include/geode/model/mixin/core/block_collections.hpp:65:13: warning: [google-explicit-constructor]

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

       65 |             BlockCollectionRangeBase( const BlockCollections& collections );
          |             ^
          |             explicit 
  • include/geode/model/mixin/core/block_collections.hpp:71:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       71 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/model/mixin/core/block_collections.hpp:74:35: warning: [cppcoreguidelines-special-member-functions]

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

       74 |         class opengeode_model_api BlockCollectionRange
          |                                   ^
  • include/geode/model/mixin/core/block_collections.hpp:78:13: warning: [google-explicit-constructor]

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

       78 |             BlockCollectionRange( const BlockCollections& boundaries );
          |             ^
          |             explicit 
  • include/geode/model/mixin/core/block_collections.hpp:97:25: warning: [readability-identifier-length]

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

       97 |             const uuid& id ) const;
          |                         ^
  • include/geode/model/mixin/core/block_collections.hpp:99:62: warning: [readability-identifier-length]

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

       99 |         [[nodiscard]] bool has_block_collection( const uuid& id ) const;
          |                                                              ^
  • include/geode/model/mixin/core/block_collections.hpp:110:55: warning: [readability-identifier-length]

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

      110 |         [[nodiscard]] bool has_component( const uuid& id ) const
          |                                                       ^
  • include/geode/model/mixin/core/block_collections.hpp:116:25: warning: [readability-identifier-length]

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

      116 |             const uuid& id ) const
          |                         ^
  • include/geode/model/mixin/core/block_collections.hpp:129:15: warning: [cppcoreguidelines-special-member-functions]

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

      129 |         class ModifiableBlockCollectionRange : public BlockCollectionRangeBase
          |               ^
  • include/geode/model/mixin/core/block_collections.hpp:132:13: warning: [google-explicit-constructor]

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

      132 |             ModifiableBlockCollectionRange(
          |             ^
          |             explicit 
  • include/geode/model/mixin/core/block_collections.hpp:163:25: warning: [readability-identifier-length]

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

      163 |             const uuid& id, BlockCollectionsBuilderKey key );
          |                         ^
  • include/geode/model/mixin/core/blocks.hpp:60:35: warning: [cppcoreguidelines-special-member-functions]

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

       60 |         class opengeode_model_api BlockRangeBase
          |                                   ^
  • include/geode/model/mixin/core/blocks.hpp:73:13: warning: [google-explicit-constructor]

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

       73 |             BlockRangeBase( const Blocks& blocks );
          |             ^
          |             explicit 
  • include/geode/model/mixin/core/blocks.hpp:78:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       78 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/model/mixin/core/blocks.hpp:84:35: warning: [cppcoreguidelines-special-member-functions]

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

       84 |         class opengeode_model_api BlockRange : public BlockRangeBase
          |                                   ^
  • include/geode/model/mixin/core/blocks.hpp:87:13: warning: [google-explicit-constructor]

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

       87 |             BlockRange( const Blocks& blocks );
          |             ^
          |             explicit 
  • include/geode/model/mixin/core/blocks.hpp:105:51: warning: [readability-identifier-length]

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

      105 |         [[nodiscard]] bool has_block( const uuid& id ) const;
          |                                                   ^
  • include/geode/model/mixin/core/blocks.hpp:110:68: warning: [readability-identifier-length]

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

      110 |         [[nodiscard]] const Block< dimension >& block( const uuid& id ) const;
          |                                                                    ^
  • include/geode/model/mixin/core/blocks.hpp:121:55: warning: [readability-identifier-length]

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

      121 |         [[nodiscard]] bool has_component( const uuid& id ) const
          |                                                       ^
  • include/geode/model/mixin/core/blocks.hpp:127:25: warning: [readability-identifier-length]

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

      127 |             const uuid& id ) const
          |                         ^
  • include/geode/model/mixin/core/blocks.hpp:144:15: warning: [cppcoreguidelines-special-member-functions]

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

      144 |         class ModifiableBlockRange : public BlockRangeBase
          |               ^
  • include/geode/model/mixin/core/blocks.hpp:147:13: warning: [google-explicit-constructor]

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

      147 |             ModifiableBlockRange( const Blocks& blocks );
          |             ^
          |             explicit 
  • include/geode/model/mixin/core/blocks.hpp:178:25: warning: [readability-identifier-length]

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

      178 |             const uuid& id, BlocksBuilderKey key );
          |                         ^
  • include/geode/model/mixin/core/component_registry.hpp:44:31: warning: [cppcoreguidelines-special-member-functions]

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

       44 |     class opengeode_model_api ComponentRegistry
          |                               ^
  • include/geode/model/mixin/core/component_registry.hpp:54:9: warning: [modernize-use-nodiscard]

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

       54 |         const Registry& mesh_components() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/model/mixin/core/component_registry.hpp:56:9: warning: [modernize-use-nodiscard]

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

       56 |         const Registry& collection_components() const;
          |         ^
          |         [[nodiscard]] 
  • include/geode/model/mixin/core/component_registry.hpp:60:52: warning: [readability-identifier-length]

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

       60 |             const ComponentType& type, const uuid& id, RegistryBuilder key );
          |                                                    ^
  • include/geode/model/mixin/core/component_registry.hpp:63:52: warning: [readability-identifier-length]

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

       63 |             const ComponentType& type, const uuid& id, RegistryBuilder key );
          |                                                    ^
  • include/geode/model/mixin/core/component_registry.hpp:66:52: warning: [readability-identifier-length]

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

       66 |             const ComponentType& type, const uuid& id, RegistryBuilder key );
          |                                                    ^
  • include/geode/model/mixin/core/component_registry.hpp:69:52: warning: [readability-identifier-length]

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

       69 |             const ComponentType& type, const uuid& id, RegistryBuilder key );
          |                                                    ^

Have any feedback or feature suggestions? Share it here.

@BotellaA
BotellaA merged commit 0947b1a into v18 Aug 5, 2026
23 checks passed
@BotellaA
BotellaA deleted the feat/add_explicit_to_passkey_constructor branch August 5, 2026 09:06
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