Differential D102639 Diff 345997 libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp
Changeset View
Changeset View
Standalone View
Standalone View
libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp
Show All 16 Lines | |||||
#include <iterator> | #include <iterator> | ||||
using iterator = std::vector<bool>::iterator; | using iterator = std::vector<bool>::iterator; | ||||
using const_iterator = std::vector<bool>::const_iterator; | using const_iterator = std::vector<bool>::const_iterator; | ||||
using reverse_iterator = std::vector<bool>::reverse_iterator; | using reverse_iterator = std::vector<bool>::reverse_iterator; | ||||
using const_reverse_iterator = std::vector<bool>::const_reverse_iterator; | using const_reverse_iterator = std::vector<bool>::const_reverse_iterator; | ||||
using value_type = bool; | using value_type = bool; | ||||
static_assert(std::random_access_iterator<iterator>); | static_assert( std::random_access_iterator<iterator>); | ||||
static_assert(std::random_access_iterator<reverse_iterator>); | static_assert( std::random_access_iterator<reverse_iterator>); | ||||
static_assert(!std::contiguous_iterator<iterator>); | static_assert(!std::contiguous_iterator<iterator>); | ||||
static_assert(!std::contiguous_iterator<reverse_iterator>); | static_assert(!std::contiguous_iterator<reverse_iterator>); | ||||
static_assert(!std::indirectly_writable<iterator, value_type>); | static_assert(!std::indirectly_writable<iterator, value_type>); | ||||
static_assert(std::sentinel_for<iterator, iterator>); | static_assert( std::sentinel_for<iterator, iterator>); | ||||
static_assert(std::sentinel_for<iterator, const_iterator>); | static_assert( std::sentinel_for<iterator, const_iterator>); | ||||
static_assert(!std::sentinel_for<iterator, reverse_iterator>); | static_assert(!std::sentinel_for<iterator, reverse_iterator>); | ||||
static_assert(!std::sentinel_for<iterator, const_reverse_iterator>); | static_assert(!std::sentinel_for<iterator, const_reverse_iterator>); | ||||
static_assert(std::sized_sentinel_for<iterator, iterator>); | static_assert( std::sized_sentinel_for<iterator, iterator>); | ||||
static_assert(std::sized_sentinel_for<iterator, const_iterator>); | static_assert( std::sized_sentinel_for<iterator, const_iterator>); | ||||
static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>); | static_assert(!std::sized_sentinel_for<iterator, reverse_iterator>); | ||||
static_assert(!std::sized_sentinel_for<iterator, const_reverse_iterator>); | static_assert(!std::sized_sentinel_for<iterator, const_reverse_iterator>); | ||||
static_assert(!std::indirectly_movable<iterator, iterator>); | |||||
static_assert(!std::indirectly_movable_storable<iterator, iterator>); | |||||
static_assert(!std::indirectly_movable<iterator, const_iterator>); | |||||
static_assert(!std::indirectly_movable_storable<iterator, const_iterator>); | |||||
static_assert(!std::indirectly_movable<iterator, reverse_iterator>); | |||||
static_assert(!std::indirectly_movable_storable<iterator, reverse_iterator>); | |||||
static_assert(!std::indirectly_movable<iterator, const_reverse_iterator>); | |||||
static_assert(!std::indirectly_movable_storable<iterator, const_reverse_iterator>); | |||||
static_assert(std::random_access_iterator<const_iterator>); | static_assert( std::random_access_iterator<const_iterator>); | ||||
static_assert(std::random_access_iterator<const_reverse_iterator>); | static_assert( std::random_access_iterator<const_reverse_iterator>); | ||||
static_assert(!std::contiguous_iterator<const_iterator>); | static_assert(!std::contiguous_iterator<const_iterator>); | ||||
static_assert(!std::contiguous_iterator<const_reverse_iterator>); | static_assert(!std::contiguous_iterator<const_reverse_iterator>); | ||||
static_assert(!std::indirectly_writable<const_iterator, value_type>); | static_assert(!std::indirectly_writable<const_iterator, value_type>); | ||||
static_assert(std::sentinel_for<const_iterator, iterator>); | static_assert( std::sentinel_for<const_iterator, iterator>); | ||||
static_assert(std::sentinel_for<const_iterator, const_iterator>); | static_assert( std::sentinel_for<const_iterator, const_iterator>); | ||||
static_assert(!std::sentinel_for<const_iterator, reverse_iterator>); | static_assert(!std::sentinel_for<const_iterator, reverse_iterator>); | ||||
static_assert(!std::sentinel_for<const_iterator, const_reverse_iterator>); | static_assert(!std::sentinel_for<const_iterator, const_reverse_iterator>); | ||||
static_assert(std::sized_sentinel_for<const_iterator, iterator>); | static_assert( std::sized_sentinel_for<const_iterator, iterator>); | ||||
static_assert(std::sized_sentinel_for<const_iterator, const_iterator>); | static_assert( std::sized_sentinel_for<const_iterator, const_iterator>); | ||||
static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>); | static_assert(!std::sized_sentinel_for<const_iterator, reverse_iterator>); | ||||
static_assert(!std::sized_sentinel_for<const_iterator, const_reverse_iterator>); | static_assert(!std::sized_sentinel_for<const_iterator, const_reverse_iterator>); | ||||
static_assert(!std::indirectly_movable<const_iterator, iterator>); | |||||
static_assert(!std::indirectly_movable_storable<const_iterator, iterator>); | |||||
static_assert(!std::indirectly_movable<const_iterator, const_iterator>); | |||||
static_assert(!std::indirectly_movable_storable<const_iterator, const_iterator>); | |||||
static_assert(!std::indirectly_movable<const_iterator, reverse_iterator>); | |||||
static_assert(!std::indirectly_movable_storable<const_iterator, reverse_iterator>); | |||||
static_assert(!std::indirectly_movable<const_iterator, const_reverse_iterator>); | |||||
static_assert(!std::indirectly_movable_storable<const_iterator, const_reverse_iterator>); |