diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-06-23 18:39:50 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-06-27 11:08:16 +0100 |
commit | 6177f60d914abcb8520b87ae62658e70a7c13759 (patch) | |
tree | 6cfe5b65dfc34b5058762c3c35235c0ac5337c4c | |
parent | 48099f7dafe8d10e92ddfc88c0fd5bfbb435d3d6 (diff) | |
download | gcc-6177f60d914abcb8520b87ae62658e70a7c13759.zip gcc-6177f60d914abcb8520b87ae62658e70a7c13759.tar.gz gcc-6177f60d914abcb8520b87ae62658e70a7c13759.tar.bz2 |
libstdc++: Simplify fs::path construction using variable template
libstdc++-v3/ChangeLog:
* include/bits/fs_path.h (__is_path_iter_src): Replace class
template with variable template.
-rw-r--r-- | libstdc++-v3/include/bits/fs_path.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/libstdc++-v3/include/bits/fs_path.h b/libstdc++-v3/include/bits/fs_path.h index d6202fd..6e7b366 100644 --- a/libstdc++-v3/include/bits/fs_path.h +++ b/libstdc++-v3/include/bits/fs_path.h @@ -102,19 +102,16 @@ namespace __detail #endif template<typename _Iter_traits, typename = void> - struct __is_path_iter_src - : false_type - { }; + inline constexpr bool __is_path_iter_src = false; template<typename _Iter_traits> - struct __is_path_iter_src<_Iter_traits, - void_t<typename _Iter_traits::value_type>> - : bool_constant<__is_encoded_char<typename _Iter_traits::value_type>> - { }; + inline constexpr bool + __is_path_iter_src<_Iter_traits, void_t<typename _Iter_traits::value_type>> + = __is_encoded_char<typename _Iter_traits::value_type>; template<typename _Source> inline constexpr bool __is_path_src - = __is_path_iter_src<iterator_traits<decay_t<_Source>>>::value; + = __is_path_iter_src<iterator_traits<decay_t<_Source>>>; template<> inline constexpr bool __is_path_src<path> = false; @@ -150,7 +147,7 @@ namespace __detail // SFINAE constraint for InputIterator parameters as required by [fs.req]. template<typename _Iter, typename _Tr = __safe_iterator_traits<_Iter>> - using _Path2 = enable_if_t<__is_path_iter_src<_Tr>::value, path>; + using _Path2 = enable_if_t<__is_path_iter_src<_Tr>, path>; #if __cpp_lib_concepts template<typename _Iter> |