1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // <set> 11 12 // class set 13 14 // iterator insert(const_iterator position, const value_type& v); 15 16 #include <set> 17 #include <cassert> 18 main()19int main() 20 { 21 { 22 typedef std::set<int> M; 23 typedef M::iterator R; 24 M m; 25 R r = m.insert(m.cend(), M::value_type(2)); 26 assert(r == m.begin()); 27 assert(m.size() == 1); 28 assert(*r == 2); 29 30 r = m.insert(m.cend(), M::value_type(1)); 31 assert(r == m.begin()); 32 assert(m.size() == 2); 33 assert(*r == 1); 34 35 r = m.insert(m.cend(), M::value_type(3)); 36 assert(r == prev(m.end())); 37 assert(m.size() == 3); 38 assert(*r == 3); 39 40 r = m.insert(m.cend(), M::value_type(3)); 41 assert(r == prev(m.end())); 42 assert(m.size() == 3); 43 assert(*r == 3); 44 } 45 } 46