// <unordered_map> -*- C++ -*-// Copyright (C) 2007, 2008 Free Software Foundation, Inc.//// This file is part of the GNU ISO C++ Library. This library is free// software; you can redistribute it and/or modify it under the// terms of the GNU General Public License as published by the// Free Software Foundation; either version 2, or (at your option)// any later version.// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License// along with this library; see the file COPYING. If not, write to// the Free Software Foundation, 51 Franklin Street, Fifth Floor,// Boston, MA 02110-1301, USA.// As a special exception, you may use this file as part of a free software// library without restriction. Specifically, if other files instantiate// templates or use macros or inline functions from this file, or you compile// this file and link it with other files to produce an executable, this// file does not by itself cause the resulting executable to be covered by// the GNU General Public License. This exception does not however// invalidate any other reasons why the executable file might be covered by// the GNU General Public License./** @file include/unordered_map* This is a Standard C++ Library header.*/#ifndef _GLIBCXX_UNORDERED_MAP#define _GLIBCXX_UNORDERED_MAP 1#pragma GCC system_header#ifndef __GXX_EXPERIMENTAL_CXX0X__# include <c++0x_warning.h>#endif#if defined(_GLIBCXX_INCLUDE_AS_TR1)# error C++0x header cannot be included from TR1 header#endif#include <utility>#include <type_traits>#include <bits/stl_algobase.h>#include <bits/allocator.h>#include <bits/stl_function.h> // equal_to, _Identity, _Select1st#include <bits/stringfwd.h>#include <bits/functional_hash.h>#include <bits/hashtable.h>#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)# include <tr1_impl/unordered_map>#else# define _GLIBCXX_INCLUDE_AS_CXX0X#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL)# define _GLIBCXX_BEGIN_NAMESPACE_TR1 namespace _GLIBCXX_STD_D {# define _GLIBCXX_END_NAMESPACE_TR1 }# define _GLIBCXX_TR1 _GLIBCXX_STD_D#else# define _GLIBCXX_BEGIN_NAMESPACE_TR1# define _GLIBCXX_END_NAMESPACE_TR1# define _GLIBCXX_TR1#endif# include <tr1_impl/unordered_map># undef _GLIBCXX_TR1# undef _GLIBCXX_END_NAMESPACE_TR1# undef _GLIBCXX_BEGIN_NAMESPACE_TR1# undef _GLIBCXX_INCLUDE_AS_CXX0X#endif#ifdef _GLIBCXX_DEBUG# include <debug/unordered_map>#endif#endif // _GLIBCXX_UNORDERED_MAP