1*56c8ad23SKonstantin Boyarinov //===----------------------------------------------------------------------===// 2*56c8ad23SKonstantin Boyarinov // 3*56c8ad23SKonstantin Boyarinov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*56c8ad23SKonstantin Boyarinov // See https://llvm.org/LICENSE.txt for license information. 5*56c8ad23SKonstantin Boyarinov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*56c8ad23SKonstantin Boyarinov // 7*56c8ad23SKonstantin Boyarinov //===----------------------------------------------------------------------===// 8*56c8ad23SKonstantin Boyarinov 9*56c8ad23SKonstantin Boyarinov // <set> 10*56c8ad23SKonstantin Boyarinov 11*56c8ad23SKonstantin Boyarinov // key_compare key_comp() const; 12*56c8ad23SKonstantin Boyarinov // value_compare value_comp() const; 13*56c8ad23SKonstantin Boyarinov 14*56c8ad23SKonstantin Boyarinov #include <set> 15*56c8ad23SKonstantin Boyarinov #include <cassert> 16*56c8ad23SKonstantin Boyarinov main(int,char **)17*56c8ad23SKonstantin Boyarinovint main(int, char**) { 18*56c8ad23SKonstantin Boyarinov typedef std::set<int> set_type; 19*56c8ad23SKonstantin Boyarinov 20*56c8ad23SKonstantin Boyarinov set_type s; 21*56c8ad23SKonstantin Boyarinov std::pair<set_type::iterator, bool> p1 = s.insert(1); 22*56c8ad23SKonstantin Boyarinov std::pair<set_type::iterator, bool> p2 = s.insert(2); 23*56c8ad23SKonstantin Boyarinov 24*56c8ad23SKonstantin Boyarinov const set_type& cs = s; 25*56c8ad23SKonstantin Boyarinov 26*56c8ad23SKonstantin Boyarinov assert(cs.key_comp()(*p1.first, *p2.first)); 27*56c8ad23SKonstantin Boyarinov assert(!cs.key_comp()(*p2.first, *p1.first)); 28*56c8ad23SKonstantin Boyarinov 29*56c8ad23SKonstantin Boyarinov assert(cs.value_comp()(*p1.first, *p2.first)); 30*56c8ad23SKonstantin Boyarinov assert(!cs.value_comp()(*p2.first, *p1.first)); 31*56c8ad23SKonstantin Boyarinov 32*56c8ad23SKonstantin Boyarinov return 0; 33*56c8ad23SKonstantin Boyarinov } 34