1 //===----------------------------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
14 // const_iterator begin() const;
15 // const_iterator end() const;
16 // const_iterator cbegin() const;
17 // const_iterator cend() const;
23 #include "min_allocator.h"
29 typedef std::vector<T> C;
31 C::iterator i = c.begin();
32 C::iterator j = c.end();
33 assert(std::distance(i, j) == 0);
38 typedef std::vector<T> C;
40 C::const_iterator i = c.begin();
41 C::const_iterator j = c.end();
42 assert(std::distance(i, j) == 0);
47 typedef std::vector<T> C;
49 C::const_iterator i = c.cbegin();
50 C::const_iterator j = c.cend();
51 assert(std::distance(i, j) == 0);
57 typedef std::vector<T> C;
61 #if __cplusplus >= 201103L
64 typedef std::vector<T, min_allocator<T>> C;
66 C::iterator i = c.begin();
67 C::iterator j = c.end();
68 assert(std::distance(i, j) == 0);
73 typedef std::vector<T, min_allocator<T>> C;
75 C::const_iterator i = c.begin();
76 C::const_iterator j = c.end();
77 assert(std::distance(i, j) == 0);
82 typedef std::vector<T, min_allocator<T>> C;
84 C::const_iterator i = c.cbegin();
85 C::const_iterator j = c.cend();
86 assert(std::distance(i, j) == 0);
92 typedef std::vector<T, min_allocator<T>> C;
97 #if _LIBCPP_STD_VER > 11
99 std::vector<bool>::iterator ii1{}, ii2{};
100 std::vector<bool>::iterator ii4 = ii1;
101 std::vector<bool>::const_iterator cii{};
102 assert ( ii1 == ii2 );
103 assert ( ii1 == ii4 );
104 assert ( ii1 == cii );
105 assert ( !(ii1 != ii2 ));
106 assert ( !(ii1 != cii ));