sustaining_gazes/lib/3rdParty/dlib/include/dlib/set.h
2016-04-28 15:40:36 -04:00

74 lines
1.6 KiB
C++

// Copyright (C) 2003 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_SEt_
#define DLIB_SEt_
#include "set/set_kernel_1.h"
#include "set/set_kernel_c.h"
#include "binary_search_tree.h"
#include "set/set_compare_1.h"
#include "algs.h"
#include <functional>
namespace dlib
{
template <
typename T,
typename mem_manager = default_memory_manager,
typename compare = std::less<T>
>
class set
{
set() {}
typedef typename binary_search_tree<T,char,mem_manager,compare>::kernel_1a
binary_search_tree_1;
typedef typename binary_search_tree<T,char,mem_manager,compare>::kernel_2a
binary_search_tree_2;
public:
//----------- kernels ---------------
// kernel_1a
typedef set_kernel_1<T,binary_search_tree_1,mem_manager>
kernel_1a;
typedef set_kernel_c<kernel_1a>
kernel_1a_c;
// kernel_1b
typedef set_kernel_1<T,binary_search_tree_2,mem_manager>
kernel_1b;
typedef set_kernel_c<kernel_1b>
kernel_1b_c;
//---------- extensions ------------
// compare extensions
typedef set_compare_1<kernel_1a>
compare_1a;
typedef set_compare_1<kernel_1a_c>
compare_1a_c;
typedef set_compare_1<kernel_1b>
compare_1b;
typedef set_compare_1<kernel_1b_c>
compare_1b_c;
};
}
#endif // DLIB_SEt_