Skip to content

Conversation

@sdebionne
Copy link
Contributor

@sdebionne sdebionne commented May 12, 2022

Description

Contribute to remove dependencies to older c++03 boost libraries.

References

C++11 Modernization

Tasklist

  • Add test case(s)
  • Ensure all CI builds pass
  • Review and approve

@sdebionne sdebionne added cat/enhancement Improvements, but not fixes addressing identified bugs core boost/gil labels May 12, 2022
@sdebionne sdebionne added this to the Boost 1.80 milestone May 12, 2022
@sdebionne sdebionne self-assigned this May 12, 2022
@sdebionne
Copy link
Contributor Author

@mloskot Boost.Iterator provides it's own Concept checking classes in #include <boost/iterator/iterator_concepts.hpp> that matche the (new for the time) Boost.Iterator concepts that never made it to the standard. Since we want to cut the ties with Boost.Iterator, I suppose we need to move to Boost.Concept Iterator concept, what do you think?

Honestly I wonder if it is worth it, and if, for concept checking only, we could require c++20....

@mloskot
Copy link
Member

mloskot commented May 12, 2022

@sdebionne

Honestly I wonder if it is worth it, and if, for concept checking only, we could require c++20...

I don't think it is worth it ...

to move to Boost.Concept Iterator concept,

One of my "next big thing" to do for GIL is to:

  1. Freeze current use of Boost.Concept
  2. Introduce C++20 concepts (compile-time disabled for older compilation modes)
  3. Ensure we CI-test at C++20 level thoroughly (core + extensions) with those concepts enabled.
  4. Slowly deprecated use of Boost.Concept, and eventually remove it.

@sdebionne Does the above seem sensible to you?

@mloskot
Copy link
Member

mloskot commented May 20, 2022

This is included in the planning towards C++14/17 discussion here #676

@mloskot
Copy link
Member

mloskot commented Jun 25, 2022

I guess we may run out of time to squeeze it into Boost 1.80. What do you think @sdebionne ?

@sdebionne
Copy link
Contributor Author

I guess we may run out of time to squeeze it into Boost 1.80. What do you think @sdebionne ?

Indeed, I underestimate the work and overestimate the time I could spend on the project. Let's move it to 1.81.

@sdebionne sdebionne removed this from the Boost 1.80 milestone Jun 27, 2022
@mloskot mloskot added this to the Boost 1.81+ milestone Jul 7, 2022
@mloskot mloskot modified the milestones: Boost 1.82, Boost 1.83+ Mar 31, 2023
@sdebionne sdebionne changed the title Replace Boost.Iterator with Boost.STLInterfaces refactor: replace Boost.Iterator with Boost.STLInterfaces Sep 24, 2023
@codecov
Copy link

codecov bot commented Sep 26, 2023

Codecov Report

Merging #669 (72d460c) into develop (1df8c24) will increase coverage by 1.03%.
Report is 6 commits behind head on develop.
The diff coverage is 100.00%.

❗ Current head 72d460c differs from pull request most recent head 4470d11. Consider uploading reports for the commit 4470d11 to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #669      +/-   ##
===========================================
+ Coverage    81.10%   82.14%   +1.03%     
===========================================
  Files          117      117              
  Lines         5171     5360     +189     
===========================================
+ Hits          4194     4403     +209     
+ Misses         977      957      -20     

@sdebionne sdebionne requested a review from mloskot September 28, 2023 18:30
@sdebionne
Copy link
Contributor Author

@mloskot there is still a bit of cleaning to do but otherwise this PR is ready for review. Beside the switch to Boost.StlInferface, there is a fix for the CI (code coverage), and a fix for std::is_floating_point<> specialization.

I don't known why some of the CI GitHub actions timeout -I have just try to rerun them.

@mloskot
Copy link
Member

mloskot commented Sep 30, 2023

I don't known why some of the CI GitHub actions timeout -I have just try to rerun them.

It looks like GHA runners availability issue which I'd ignore:

image

The Ubuntu 18.04 has also been deprecated, so I have just tried to update the GHA:

Let's see if this improves anything.

Copy link
Member

@mloskot mloskot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for pulling this off @sdebionne

@sdebionne
Copy link
Contributor Author

I'll rebase on the fixed CI (thank you for that) and cleanup.

@sdebionne sdebionne marked this pull request as ready for review October 3, 2023 07:05
@sdebionne
Copy link
Contributor Author

I wonder if iterator should be removed from .ci/get-boost.sh?

@mloskot
Copy link
Member

mloskot commented Oct 3, 2023

Yes, I think it should.

It may be required as transitive dependency, but the CI jobs will let us know.

@mloskot mloskot modified the milestones: Boost 1.86, 1.87.0 Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cat/enhancement Improvements, but not fixes addressing identified bugs core boost/gil

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants