1 // Copyright (C) 2001-2016 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 // This library is distributed in the hope that it will be useful,
21 // but WITHOUT ANY WARRANTY; without even the implied warranty of
22 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 // GNU General Public License for more details.
25 // Under Section 7 of GPL version 3, you are granted additional
26 // permissions described in the GCC Runtime Library Exception, version
27 // 3.1, as published by the Free Software Foundation.
29 // You should have received a copy of the GNU General Public License and
30 // a copy of the GCC Runtime Library Exception along with this program;
31 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
32 // <http://www.gnu.org/licenses/>.
35 * Copyright (c) 1996-1998
36 * Silicon Graphics Computer Systems, Inc.
38 * Permission to use, copy, modify, distribute and sell this software
39 * and its documentation for any purpose is hereby granted without fee,
40 * provided that the above copyright notice appear in all copies and
41 * that both that copyright notice and this permission notice appear
42 * in supporting documentation. Silicon Graphics makes no
43 * representations about the suitability of this software for any
44 * purpose. It is provided "as is" without express or implied warranty.
48 * Hewlett-Packard Company
50 * Permission to use, copy, modify, distribute and sell this software
51 * and its documentation for any purpose is hereby granted without fee,
52 * provided that the above copyright notice appear in all copies and
53 * that both that copyright notice and this permission notice appear
54 * in supporting documentation. Hewlett-Packard Company makes no
55 * representations about the suitability of this software for any
56 * purpose. It is provided "as is" without express or implied warranty.
59 #ifndef __INTERPKERNELHASHFUN_HXX__
60 #define __INTERPKERNELHASHFUN_HXX__
64 namespace INTERP_KERNEL
69 inline std::size_t __stl_hash_string(const char* __s)
71 unsigned long __h = 0;
74 return std::size_t(__h);
80 std::size_t operator()(const char* __s) const
81 { return __stl_hash_string(__s); }
85 struct hash<const char*>
87 std::size_t operator()(const char* __s) const
88 { return __stl_hash_string(__s); }
94 std::size_t operator()(char __x) const { return __x; }
98 struct hash<unsigned char>
100 std::size_t operator()(unsigned char __x) const { return __x; }
104 struct hash<signed char>
106 std::size_t operator()(unsigned char __x) const { return __x; }
112 std::size_t operator()(short __x) const { return __x; }
116 struct hash<unsigned short>
118 std::size_t operator()(unsigned short __x) const { return __x; }
124 std::size_t operator()(int __x) const { return __x; }
128 struct hash<unsigned int>
130 std::size_t operator()(unsigned int __x) const { return __x; }
136 std::size_t operator()(long __x) const { return __x; }
140 struct hash<unsigned long>
142 std::size_t operator()(unsigned long __x) const { return __x; }