Как # включить хеш с помощью ext, tr1 или __gnu_cxx в XCode, C ++ - PullRequest
1 голос
/ 25 января 2012

Я пытаюсь работать с библиотекой google-sparsehash , и я хотел бы включить библиотеку хешей, описанную в ссылке,

using ext::hash;  // or __gnu_cxx::hash, or maybe tr1::hash, depending on your OS

и я попробовал один из них:

#include <ext/hash>
#include <ext>
#include <__gnu_cxx>
#include <tr1>

, который ни один не работал с XCode. Я также «использую», где мне сказали, что __gnu_cxx не содержит «хэш». Как я могу описать эту библиотеку для XCode (3.2.6) на OS X (10.6.8)?

Или, в более общем смысле, где эта хеш-функция описана в Mac / XCode?

Ответы [ 2 ]

3 голосов
/ 25 января 2012

В C ++ 11:

#include <functional>
using std::hash;

В C ++ 03 с TR1:

#include <tr1/functional>
using std::tr1::hash;
0 голосов
/ 25 января 2012

Насколько я могу судить, кажется, что невозможно получить хеш-функторы без добавления определений для различных хеш-таблиц.По крайней мере, не без дурака с внутренними заголовками библиотеки.

Попробуйте:

#include <ext/hash_map>
using __gnu_cxx::hash;

или:

#include <tr1/unordered_map>
using std::tr1::hash;
...