-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFlatSet.hxx
29 lines (21 loc) · 1.31 KB
/
FlatSet.hxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Copyright 2015, 2016 Robert Haberlach
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */
#pragma once
#include "FlatUniqueTree.hxx"
#include "FlatMultiTree.hxx"
#include "StableVector.hxx"
namespace Constainer {
template <typename Key, typename Compare, typename Container>
using BasicFlatSet = detail::FlatUniqueTree<Key, Key, IdentityFunctor, Compare, Container>;
template <typename T, STD::size_t MaxN=defaultContainerSize, typename Compare = STD::less<T>>
using FlatSet = BasicFlatSet<T, Compare, Constainer::Vector<T, MaxN>>;
template <typename T, STD::size_t MaxN=defaultContainerSize, typename Compare = STD::less<T>>
using StableFlatSet = BasicFlatSet<T, Compare, Constainer::StableVector<T, MaxN>>;
template <typename Key, typename Compare, typename Container>
using BasicFlatMultiSet = detail::FlatMultiTree<Key, Key, IdentityFunctor, Compare, Container>;
template <typename T, STD::size_t MaxN=defaultContainerSize, typename Compare = STD::less<T>>
using FlatMultiSet = BasicFlatMultiSet<T, Compare, Constainer::Vector<T, MaxN>>;
template <typename T, STD::size_t MaxN=defaultContainerSize, typename Compare = STD::less<T>>
using StableFlatMultiSet = BasicFlatMultiSet<T, Compare, Constainer::StableVector<T, MaxN>>;
}