diff --git a/include/stdx/iterator.hpp b/include/stdx/iterator.hpp index e315343..46bd7cc 100644 --- a/include/stdx/iterator.hpp +++ b/include/stdx/iterator.hpp @@ -24,6 +24,9 @@ constexpr auto ct_capacity_v = detail::ct_capacity_fail{}; template constexpr auto ct_capacity_v> = N; +// NOLINTNEXTLINE(modernize-avoid-c-arrays) +template constexpr auto ct_capacity_v = N; + template constexpr auto ct_capacity_v = ct_capacity_v; template diff --git a/test/iterator.cpp b/test/iterator.cpp index a20ba1e..7e37517 100644 --- a/test/iterator.cpp +++ b/test/iterator.cpp @@ -20,6 +20,11 @@ TEST_CASE("compile-time capacity (std::array)", "[iterator]") { STATIC_REQUIRE(stdx::ct_capacity(a) == 4u); } +TEST_CASE("compile-time capacity (C-style array)", "[iterator]") { + int a[4]{}; + STATIC_REQUIRE(stdx::ct_capacity(a) == 4u); +} + #if __cpp_lib_span >= 202002L TEST_CASE("compile-time capacity (std::span)", "[iterator]") { std::array a{1, 2, 3, 4};