--- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,7 @@ enable_testing() # Set required standard to C++11. -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Ensure that GCC is new enough, if the compiler is GCC. --- a/src/mlpack/bindings/python/setup.py.in +++ b/src/mlpack/bindings/python/setup.py.in @@ -52,7 +52,7 @@ else: cxx_flags = '${CMAKE_CXX_FLAGS}'.strip() cxx_flags = re.sub(' +', ' ', cxx_flags) - extra_args = ['-DBINDING_TYPE=BINDING_TYPE_PYX', '-std=c++11'] + extra_args = ['-DBINDING_TYPE=BINDING_TYPE_PYX', '-std=c++17'] if '${OpenMP_CXX_FLAGS}' != '': extra_args.append('${OpenMP_CXX_FLAGS}') if cxx_flags: --- a/src/mlpack/bindings/R/mlpack/src/Makevars +++ b/src/mlpack/bindings/R/mlpack/src/Makevars @@ -1,3 +1,3 @@ PKG_CXXFLAGS = -DBOOST_MATH_PROMOTE_DOUBLE_POLICY=false -I. $(SHLIB_OPENMP_CXXFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) -CXX_STD = CXX11 +CXX_STD = CXX17 --- a/src/mlpack/core/cereal/CMakeLists.txt +++ b/src/mlpack/core/cereal/CMakeLists.txt @@ -4,10 +4,8 @@ array_wrapper.hpp is_loading.hpp is_saving.hpp - pair_associative_container.hpp pointer_wrapper.hpp pointer_vector_wrapper.hpp - unordered_map.hpp ) # add directory name to sources --- a/src/mlpack/prereqs.hpp +++ b/src/mlpack/prereqs.hpp @@ -110,7 +110,7 @@ #include #include #include -#include +#include #include #include