@@ -54,32 +54,6 @@ std::false_type is_container_impl( ... );
5454template <typename T>
5555using is_container = decltype ( detail::is_container_impl<T>( 0 ) );
5656
57- // Check if a type is a container with access to its element type and number
58- // adapted from https://stackoverflow.com/questions/13830158/check-if-a-variable-type-is-iterable
59- namespace detail {
60-
61- using std::begin;
62- using std::end;
63-
64- template <typename T>
65- auto is_container_impl ( int )
66- -> decltype( begin( std::declval<T&>() ) !=
67- end( std::declval<T&>() ), // begin/end and operator !=
68- void(), // Handle evil operator ,
69- std::declval<T&>().empty(),
70- std::declval<T&>().size(),
71- ++std::declval<decltype( begin( std::declval<T&>() ) )&>(), // operator ++
72- void( *begin ( std::declval<T&>() ) ), // operator*
73- std::true_type {} );
74-
75- template <typename T>
76- std::false_type is_container_impl ( ... );
77-
78- } // namespace detail
79-
80- template <typename T>
81- using is_container = decltype ( detail::is_container_impl<T>( 0 ) );
82-
8357// TypeList taken and adapted from
8458// https://github.com/AcademySoftwareFoundation/openvdb/blob/master/openvdb/openvdb/TypeList.h
8559// Only took small part of TypeList utilities
@@ -190,32 +164,6 @@ std::string demangleType( const T& ) noexcept {
190164 return demangleType<T>();
191165}
192166
193- // Check if a type is a container with access to its element type and number
194- // adapted from https://stackoverflow.com/questions/13830158/check-if-a-variable-type-is-iterable
195- namespace detail {
196-
197- using std::begin;
198- using std::end;
199-
200- template <typename T>
201- auto is_container_impl ( int )
202- -> decltype( begin( std::declval<T&>() ) !=
203- end( std::declval<T&>() ), // begin/end and operator !=
204- void(), // Handle evil operator ,
205- std::declval<T&>().empty(),
206- std::declval<T&>().size(),
207- ++std::declval<decltype( begin( std::declval<T&>() ) )&>(), // operator ++
208- void( *begin ( std::declval<T&>() ) ), // operator*
209- std::true_type {} );
210-
211- template <typename T>
212- std::false_type is_container_impl ( ... );
213-
214- } // namespace detail
215-
216- template <typename T>
217- using is_container = decltype ( detail::is_container_impl<T>( 0 ) );
218-
219167} // namespace Utils
220168} // namespace Core
221169} // namespace Ra
0 commit comments