Skip to content

Upgrade to C++23 from C++17#10

Open
danielduberg wants to merge 85 commits intomainfrom
dduberg/c++23
Open

Upgrade to C++23 from C++17#10
danielduberg wants to merge 85 commits intomainfrom
dduberg/c++23

Conversation

@danielduberg
Copy link
Member

Description

Upgrade to using C++23 instead of C++17. This will simplify the code base and make future development faster.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Ran all tests.

Test Configuration:

  • OS: Ubuntu 24.04

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@github-actions
Copy link

github-actions bot commented Feb 16, 2026

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v21.1.8) reports: 10 concern(s)
  • lib/cloud/include/ufo/cloud/point_cloud.hpp:46:10: error: [clang-diagnostic-error]

    'ufo/cloud/cloud.hpp' file not found

       46 | #include <ufo/cloud/cloud.hpp>
          |          ^~~~~~~~~~~~~~~~~~~~~
  • lib/core/tests/confidence_test.cpp:70:3: warning: [clang-analyzer-security.FloatLoopCounter]

    Variable 'v' with floating point type 'float' should not be used as a loop counter

       70 |                 for (float v = 0.0f; v <= 1.0f; v += 0.01f) {
          |                 ^                    ~          ~
    /home/runner/work/ufo/ufo/lib/core/tests/confidence_test.cpp:70:3: note: Variable 'v' with floating point type 'float' should not be used as a loop counter
       70 |                 for (float v = 0.0f; v <= 1.0f; v += 0.01f) {
          |                 ^                    ~          ~
  • lib/core/tests/intensity_test.cpp:70:3: warning: [clang-analyzer-security.FloatLoopCounter]

    Variable 'v' with floating point type 'float' should not be used as a loop counter

       70 |                 for (float v = 0.0f; v <= 1.0f; v += 0.01f) {
          |                 ^                    ~          ~
    /home/runner/work/ufo/ufo/lib/core/tests/intensity_test.cpp:70:3: note: Variable 'v' with floating point type 'float' should not be used as a loop counter
       70 |                 for (float v = 0.0f; v <= 1.0f; v += 0.01f) {
          |                 ^                    ~          ~
  • lib/core/tests/weight_test.cpp:70:3: warning: [clang-analyzer-security.FloatLoopCounter]

    Variable 'v' with floating point type 'float' should not be used as a loop counter

       70 |                 for (float v = 0.0f; v <= 1.0f; v += 0.01f) {
          |                 ^                    ~          ~
    /home/runner/work/ufo/ufo/lib/core/tests/weight_test.cpp:70:3: note: Variable 'v' with floating point type 'float' should not be used as a loop counter
       70 |                 for (float v = 0.0f; v <= 1.0f; v += 0.01f) {
          |                 ^                    ~          ~
  • lib/map/include/ufo/map/surfel/surfel.hpp:46:10: error: [clang-diagnostic-error]

    'ufo/map/types.hpp' file not found

       46 | #include <ufo/map/types.hpp>
          |          ^~~~~~~~~~~~~~~~~~~
  • lib/map/src/render.cpp:9:10: error: [clang-diagnostic-error]

    'ufo/map/color/map.hpp' file not found

        9 | #include <ufo/map/color/map.hpp>
          |          ^~~~~~~~~~~~~~~~~~~~~~~
  • lib/map/src/render4d.cpp:9:10: error: [clang-diagnostic-error]

    'ufo/map/color/map.hpp' file not found

        9 | #include <ufo/map/color/map.hpp>
          |          ^~~~~~~~~~~~~~~~~~~~~~~
  • lib/math/tests/math_test.cpp:180:3: warning: [clang-analyzer-security.FloatLoopCounter]

    Variable 'p' with floating point type 'double' should not be used as a loop counter

      180 |                 for (double p = 0.05; p < 1.0; p += 0.05) {
          |                 ^                     ~        ~
    /home/runner/work/ufo/ufo/lib/math/tests/math_test.cpp:180:3: note: Variable 'p' with floating point type 'double' should not be used as a loop counter
      180 |                 for (double p = 0.05; p < 1.0; p += 0.05) {
          |                 ^                     ~        ~
  • lib/math/tests/quat_test.cpp:484:3: warning: [clang-analyzer-security.FloatLoopCounter]

    Variable 't' with floating point type 'double' should not be used as a loop counter

      484 |                 for (double t = 0.0; t <= 1.0; t += 0.1) {
          |                 ^                    ~         ~
    /home/runner/work/ufo/ufo/lib/math/tests/quat_test.cpp:484:3: note: Variable 't' with floating point type 'double' should not be used as a loop counter
      484 |                 for (double t = 0.0; t <= 1.0; t += 0.1) {
          |                 ^                    ~         ~
  • lib/viz/include/ufo/viz/renderable/triangulate.hpp:10:10: error: [clang-diagnostic-error]

    'ufo/geometry/cone.hpp' file not found

       10 | #include <ufo/geometry/cone.hpp>
          |          ^~~~~~~~~~~~~~~~~~~~~~~

Have any feedback or feature suggestions? Share it here.

github-actions[bot]

This comment was marked as outdated.

@github-actions github-actions bot dismissed their stale review February 16, 2026 19:39

outdated suggestion

github-actions[bot]

This comment was marked as outdated.

@github-actions github-actions bot dismissed their stale review February 16, 2026 19:43

outdated suggestion

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants