From 880de2e0523748e3ff530476064a1de65207592f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Mon, 25 Mar 2024 11:17:51 +0100 Subject: [PATCH] add a macro to ease the check --- STL_Extension/include/CGAL/Named_function_parameters.h | 10 ++++++++++ .../test/STL_Extension/test_cgal_named_params.cpp | 3 +++ 2 files changed, 13 insertions(+) diff --git a/STL_Extension/include/CGAL/Named_function_parameters.h b/STL_Extension/include/CGAL/Named_function_parameters.h index 490af37fdeca..d0486f45f3b1 100644 --- a/STL_Extension/include/CGAL/Named_function_parameters.h +++ b/STL_Extension/include/CGAL/Named_function_parameters.h @@ -613,6 +613,16 @@ bool authorized_options(const Named_function_parameters& np) } // end of parameters namespace +#ifdef CGAL_NDEBUG +#define CGAL_CHECK_AUTHORIZED_NAMED_PARAMETERS(np, ...) +#else +#define CGAL_CHECK_AUTHORIZED_NAMED_PARAMETERS(np, ...) \ +{ \ +using namespace ::CGAL::internal_np; \ +static_assert(::CGAL::parameters::authorized_options<__VA_ARGS__>(np)); \ +} +#endif + #ifndef CGAL_NO_DEPRECATED_CODE namespace Polygon_mesh_processing { diff --git a/STL_Extension/test/STL_Extension/test_cgal_named_params.cpp b/STL_Extension/test/STL_Extension/test_cgal_named_params.cpp index a82ff071ee98..99edb6273fd0 100644 --- a/STL_Extension/test/STL_Extension/test_cgal_named_params.cpp +++ b/STL_Extension/test/STL_Extension/test_cgal_named_params.cpp @@ -109,6 +109,9 @@ void test_authorized_options() static_assert(!CGAL::parameters::authorized_options(np_ko)); + + CGAL_CHECK_AUTHORIZED_NAMED_PARAMETERS(np_ok1, vertex_point_t, edge_index_t, face_index_t); + CGAL_CHECK_AUTHORIZED_NAMED_PARAMETERS(np_ok2, vertex_point_t, edge_index_t, face_index_t); } int main()