summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
index 0da7f84c143..e48e44b3777 100644
--- a/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
+++ b/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
@@ -20,7 +20,19 @@ struct not_an_iterator
{
};
+template <class _Tp>
+struct has_value_type
+{
+private:
+ struct two {char lx; char lxx;};
+ template <class _Up> static two test(...);
+ template <class _Up> static char test(typename _Up::value_type* = 0);
+public:
+ static const bool value = sizeof(test<_Tp>(0)) == 1;
+};
+
int main()
{
typedef std::iterator_traits<not_an_iterator> It;
+ static_assert(!(has_value_type<It>::value), "");
}
OpenPOWER on IntegriCloud