diff options
author | Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> | 2022-10-31 10:50:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-31 10:50:25 +0100 |
commit | 15fd13fda8fa6d37f7a8c9095b1bf1bb23444206 (patch) | |
tree | ea7b648aa24114f0678dcaacdc08645e042e6cb5 | |
parent | 5ab19fb245142fb349139163cb372ffd57c1c702 (diff) | |
parent | b1639bdd54e5e34a8f801c147fcd7f64a829ec4c (diff) |
Merge pull request #714 from mglisse/std_optional
Use std::optional to check C++17 support
-rw-r--r-- | src/Tangential_complex/include/gudhi/Tangential_complex.h | 10 | ||||
-rw-r--r-- | src/cmake/modules/GUDHI_compilation_flags.cmake | 1 | ||||
-rw-r--r-- | src/python/CMakeLists.txt | 7 |
3 files changed, 10 insertions, 8 deletions
diff --git a/src/Tangential_complex/include/gudhi/Tangential_complex.h b/src/Tangential_complex/include/gudhi/Tangential_complex.h index cc424810..56a24af0 100644 --- a/src/Tangential_complex/include/gudhi/Tangential_complex.h +++ b/src/Tangential_complex/include/gudhi/Tangential_complex.h @@ -36,7 +36,6 @@ #include <Eigen/Eigen> #include <Eigen/src/Core/util/Macros.h> // for EIGEN_VERSION_AT_LEAST -#include <boost/optional.hpp> #include <boost/iterator/transform_iterator.hpp> #include <boost/range/adaptor/transformed.hpp> #include <boost/range/counting_range.hpp> @@ -56,6 +55,7 @@ #include <cmath> // for std::sqrt #include <string> #include <cstddef> // for std::size_t +#include <optional> #ifdef GUDHI_USE_TBB #include <tbb/parallel_for.h> @@ -994,7 +994,7 @@ class Tangential_complex { // circumspheres of the star of "center_vertex" // If th the m_max_squared_edge_length is set the maximal radius of the "star sphere" // is at most square root of m_max_squared_edge_length - boost::optional<FT> squared_star_sphere_radius_plus_margin = m_max_squared_edge_length; + std::optional<FT> squared_star_sphere_radius_plus_margin = m_max_squared_edge_length; // Insert points until we find a point which is outside "star sphere" for (auto nn_it = ins_range.begin(); nn_it != ins_range.end(); ++nn_it) { @@ -1036,7 +1036,7 @@ class Tangential_complex { // Let's recompute squared_star_sphere_radius_plus_margin if (triangulation.current_dimension() >= tangent_space_dim) { - squared_star_sphere_radius_plus_margin = boost::none; + squared_star_sphere_radius_plus_margin = std::nullopt; // Get the incident cells and look for the biggest circumsphere std::vector<Tr_full_cell_handle> incident_cells; triangulation.incident_full_cells(center_vertex, std::back_inserter(incident_cells)); @@ -1044,7 +1044,7 @@ class Tangential_complex { cit != incident_cells.end(); ++cit) { Tr_full_cell_handle cell = *cit; if (triangulation.is_infinite(cell)) { - squared_star_sphere_radius_plus_margin = boost::none; + squared_star_sphere_radius_plus_margin = std::nullopt; break; } else { // Note that this uses the perturbed point since it uses @@ -2030,7 +2030,7 @@ class Tangential_complex { // and their center vertex Stars_container m_stars; std::vector<FT> m_squared_star_spheres_radii_incl_margin; - boost::optional<FT> m_max_squared_edge_length; + std::optional<FT> m_max_squared_edge_length; #ifdef GUDHI_TC_USE_ANOTHER_POINT_SET_FOR_TANGENT_SPACE_ESTIM Points m_points_for_tse; diff --git a/src/cmake/modules/GUDHI_compilation_flags.cmake b/src/cmake/modules/GUDHI_compilation_flags.cmake index e2d3d872..b43ccf73 100644 --- a/src/cmake/modules/GUDHI_compilation_flags.cmake +++ b/src/cmake/modules/GUDHI_compilation_flags.cmake @@ -12,6 +12,7 @@ macro(add_cxx_compiler_flag _flag) endmacro() set (CMAKE_CXX_STANDARD 17) +# This number needs to be changed in python/CMakeLists.txt at the same time enable_testing() diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt index 5f323935..8f8df138 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -129,9 +129,10 @@ if(PYTHONINTERP_FOUND) # Gudhi and CGAL compilation option if(MSVC) + set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'/std:c++17', ") set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'/fp:strict', ") else(MSVC) - set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'-std=c++14', ") + set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'-std=c++17', ") endif(MSVC) if(CMAKE_COMPILER_IS_GNUCXX) set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'-frounding-math', ") @@ -246,8 +247,8 @@ if(PYTHONINTERP_FOUND) # Specific for Mac if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'-mmacosx-version-min=10.12', ") - set(GUDHI_PYTHON_EXTRA_LINK_ARGS "${GUDHI_PYTHON_EXTRA_LINK_ARGS}'-mmacosx-version-min=10.12', ") + set(GUDHI_PYTHON_EXTRA_COMPILE_ARGS "${GUDHI_PYTHON_EXTRA_COMPILE_ARGS}'-mmacosx-version-min=10.14', ") + set(GUDHI_PYTHON_EXTRA_LINK_ARGS "${GUDHI_PYTHON_EXTRA_LINK_ARGS}'-mmacosx-version-min=10.14', ") endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Loop on INCLUDE_DIRECTORIES PROPERTY |