load_factor.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02
1//===----------------------------------------------------------------------===//
2//
3// ��������������������The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <unordered_set>
11
12// template <class Value, class Hash = hash<Value>, class Pred = equal_to<Value>,
13//           class Alloc = allocator<Value>>
14// class unordered_set
15
16// float load_factor() const
17
18#include <unordered_set>
19#include <cassert>
20
21int main()
22{
23    {
24        typedef std::unordered_set<int> C;
25        typedef int P;
26        P a[] =
27        {
28            P(10),
29            P(20),
30            P(30),
31            P(40),
32            P(50),
33            P(60),
34            P(70),
35            P(80)
36        };
37        const C c(std::begin(a), std::end(a));
38        assert(c.load_factor() == (float)c.size() / c.bucket_count());
39    }
40    {
41        typedef std::unordered_set<int> C;
42        typedef int P;
43        const C c;
44        assert(c.load_factor() == 0);
45    }
46}
47