unorderedset.h

00001 #ifndef VVLIB_UTIL_UNORDEREDSET_H
00002 #define VVLIB_UTIL_UNORDEREDSET_H
00003 
00004 #include <config.h>
00005 
00006 #ifdef USE_HASH
00007 #  ifdef __GNUC__
00008 #    include <util/features.h>
00009 #    ifdef __GXX_EXPERIMENTAL_CXX0X__
00010 #      include <unordered_set>
00011 #    elif __GNUC_PREREQ(4,0)
00012 #      include <tr1/unordered_set>
00013 #      ifndef CXX_NEEDS_TR1
00014 #        define CXX_NEEDS_TR1
00015 #      endif
00016 namespace std
00017 {
00018   using std::tr1::unordered_set;
00019   using std::tr1::unordered_multiset;
00020   using std::tr1::hash;
00021 }
00022 #    else
00023 #      error "GCC do not have unordered_set before the version 4.0"
00024 #    endif
00025 #  elif defined(_MSC_VER)
00026 #    include <unordered_set>
00027 #    ifndef CXX_NEEDS_TR1
00028 #      define CXX_NEEDS_TR1
00029 #    endif
00030 namespace std
00031 {
00032   using std::tr1::unordered_set;
00033   using std::tr1::unordered_multiset;
00034   using std::tr1::hash;
00035 }
00036 #  else
00037 #    error "unordered_set is not identified for your compiler"
00038 #  endif
00039 #else
00040 #  include <set>
00041 #  define unordered_set set
00042 #  define unordered_multiset multiset
00043 #endif
00044 
00045 #endif // VVLIB_UTIL_UNORDEREDSET_H
00046 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Fri May 31 15:37:53 2013 for VVE by  doxygen 1.6.3