brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · b58df79 Raw
52 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++0310 11// <unordered_set>12 13// template <class Value, class Hash = hash<Value>, class Pred = equal_to<Value>,14//           class Alloc = allocator<Value>>15// class unordered_multiset16 17// void insert(initializer_list<value_type> il);18 19#include <unordered_set>20#include <cassert>21 22#include "test_macros.h"23#include "test_iterators.h"24#include "min_allocator.h"25 26int main(int, char**) {27  {28    typedef std::unordered_multiset<int> C;29    typedef int P;30    C c;31    c.insert({P(1), P(2), P(3), P(4), P(1), P(2)});32    assert(c.size() == 6);33    assert(c.count(1) == 2);34    assert(c.count(2) == 2);35    assert(c.count(3) == 1);36    assert(c.count(4) == 1);37  }38  {39    typedef std::unordered_multiset<int, std::hash<int>, std::equal_to<int>, min_allocator<int>> C;40    typedef int P;41    C c;42    c.insert({P(1), P(2), P(3), P(4), P(1), P(2)});43    assert(c.size() == 6);44    assert(c.count(1) == 2);45    assert(c.count(2) == 2);46    assert(c.count(3) == 1);47    assert(c.count(4) == 1);48  }49 50  return 0;51}52