brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · c41d7c3 Raw
56 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// <set>10 11// class set12 13// set();14 15#include <set>16#include <cassert>17 18#include "test_macros.h"19#include "min_allocator.h"20 21int main(int, char**) {22  {23    std::set<int> m;24    assert(m.empty());25    assert(m.begin() == m.end());26  }27#if TEST_STD_VER >= 1128  {29    std::set<int, std::less<int>, min_allocator<int>> m;30    assert(m.empty());31    assert(m.begin() == m.end());32  }33  {34    typedef explicit_allocator<int> A;35    {36      std::set<int, std::less<int>, A> m;37      assert(m.empty());38      assert(m.begin() == m.end());39    }40    {41      A a;42      std::set<int, std::less<int>, A> m(a);43      assert(m.empty());44      assert(m.begin() == m.end());45    }46  }47  {48    std::set<int> m = {};49    assert(m.empty());50    assert(m.begin() == m.end());51  }52#endif53 54  return 0;55}56