Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
UnorderedSet.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRE_UNORDERED_SET_H
7#define SKYFIRE_UNORDERED_SET_H
8
9#include "HashNamespace.h"
10
11#if COMPILER_HAS_CPP11_SUPPORT
12# include <unordered_set>
13#elif COMPILER == COMPILER_INTEL
14# include <ext/hash_set>
15#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
16# include <unordered_set>
17#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
18# include <tr1/unordered_set>
19#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
20# include <ext/hash_set>
21#elif COMPILER == COMPILER_MICROSOFT && ((_MSC_VER >= 1500 && _HAS_TR1) || _MSC_VER >= 1700) // VC9.0 SP1 and later
22# include <unordered_set>
23#else
24# include <hash_set>
25#endif
26
27#ifdef _STLPORT_VERSION
28# define UNORDERED_SET std::hash_set
29using std::hash_set;
30#elif COMPILER_HAS_CPP11_SUPPORT
31# define UNORDERED_SET std::unordered_set
32#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1600 // VS100
33# define UNORDERED_SET std::tr1::unordered_set
34#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1500 && _HAS_TR1
35# define UNORDERED_SET std::tr1::unordered_set
36#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1300
37# define UNORDERED_SET stdext::hash_set
38using stdext::hash_set;
39#elif COMPILER == COMPILER_INTEL
40# define UNORDERED_SET std::hash_set
41using std::hash_set;
42#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
43# define UNORDERED_SET std::unordered_set
44#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
45# define UNORDERED_SET std::tr1::unordered_set
46#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
47# define UNORDERED_SET __gnu_cxx::hash_set
48#else
49# define UNORDERED_SET std::hash_set
50using std::hash_set;
51#endif
52
53#endif