VCCC  2024.05
VisualCamp Common C++ library
not_incomplete_array.hpp
Go to the documentation of this file.
1 //
2 // Created by YongGyu Lee on 2/8/24.
3 //
4 
5 #ifndef VCCC_RANGES_DETAIL_NOT_INCOMPLETE_ARRAY_HPP_
6 #define VCCC_RANGES_DETAIL_NOT_INCOMPLETE_ARRAY_HPP_
7 
8 #include <type_traits>
9 
12 
13 namespace vccc {
14 namespace detail {
15 
16 template<typename T, bool = std::is_array<remove_cvref_t<T>>::value /* false */>
17 struct not_incomplete_array : std::true_type {};
18 
19 template<typename T>
20 struct not_incomplete_array<T, true>
21  : is_complete<std::remove_all_extents_t<std::remove_reference_t<T>>> {};
22 
23 } // namespace detail
24 } // namespace vccc
25 
26 #endif // VCCC_RANGES_DETAIL_NOT_INCOMPLETE_ARRAY_HPP_
decltype(detail::is_complete_impl(std::declval< T * >())) is_complete
Definition: is_complete.hpp:23
Definition: directory.h:12