diff options
Diffstat (limited to 'test/std/containers/sequences/forwardlist/types.pass.cpp')
-rw-r--r-- | test/std/containers/sequences/forwardlist/types.pass.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/test/std/containers/sequences/forwardlist/types.pass.cpp b/test/std/containers/sequences/forwardlist/types.pass.cpp index a1f8862debbe..5ed7e34b9202 100644 --- a/test/std/containers/sequences/forwardlist/types.pass.cpp +++ b/test/std/containers/sequences/forwardlist/types.pass.cpp @@ -44,8 +44,15 @@ int main() static_assert((std::is_same<C::const_pointer, const char*>::value), ""); static_assert((std::is_same<C::size_type, std::size_t>::value), ""); static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), ""); + + static_assert((std::is_signed<typename C::difference_type>::value), ""); + static_assert((std::is_unsigned<typename C::size_type>::value), ""); + static_assert((std::is_same<typename C::difference_type, + typename std::iterator_traits<typename C::iterator>::difference_type>::value), ""); + static_assert((std::is_same<typename C::difference_type, + typename std::iterator_traits<typename C::const_iterator>::difference_type>::value), ""); } -#if __cplusplus >= 201103L +#if TEST_STD_VER >= 11 { typedef std::forward_list<char, min_allocator<char>> C; static_assert((std::is_same<C::value_type, char>::value), ""); @@ -57,6 +64,13 @@ int main() // min_allocator doesn't have a size_type, so one gets synthesized static_assert((std::is_same<C::size_type, std::make_unsigned<C::difference_type>::type>::value), ""); static_assert((std::is_same<C::difference_type, std::ptrdiff_t>::value), ""); + + static_assert((std::is_signed<typename C::difference_type>::value), ""); + static_assert((std::is_unsigned<typename C::size_type>::value), ""); + static_assert((std::is_same<typename C::difference_type, + typename std::iterator_traits<typename C::iterator>::difference_type>::value), ""); + static_assert((std::is_same<typename C::difference_type, + typename std::iterator_traits<typename C::const_iterator>::difference_type>::value), ""); } #endif } |