diff options
author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-13 17:06:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-13 17:06:17 +0300 |
commit | 9013267da2269a9bd9683862b7449db1b1093afc (patch) | |
tree | 336172dfd6468e8bafa1d9c4a229624e85ffecfb /indra/llcommon/llhash.h | |
parent | 0cb2c511bc2a0f54eb7b3a4c2988d7ebec96e3be (diff) | |
parent | 38c2a5bde985a6a8a96d912d432f8bdf7e5b60be (diff) |
Merge pull request #1373 from secondlife/marchcat/x-ws-merge
Diffstat (limited to 'indra/llcommon/llhash.h')
-rw-r--r-- | indra/llcommon/llhash.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/indra/llcommon/llhash.h b/indra/llcommon/llhash.h index 4b58e81565..aa1fa2d336 100644 --- a/indra/llcommon/llhash.h +++ b/indra/llcommon/llhash.h @@ -1,25 +1,25 @@ -/** +/** * @file llhash.h * @brief Wrapper for a hash function. * * $LicenseInfo:firstyear=2004&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * 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 * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -36,17 +36,17 @@ inline size_t llhash( const char * value ) { - // boost::hash is defined for std::string and for char, but there's no - // special overload for const char*. The lazy approach would be to - // instantiate a std::string and take its hash, but that might be more - // overhead than our callers want. Or we could use boost::hash_range() -- - // but that would require a preliminary pass over the value to determine - // the end iterator. Instead, use boost::hash_combine() to hash individual - // characters. - std::size_t seed = 0; - for ( ; *value; ++value) - boost::hash_combine(seed, *value); - return seed; + // boost::hash is defined for std::string and for char, but there's no + // special overload for const char*. The lazy approach would be to + // instantiate a std::string and take its hash, but that might be more + // overhead than our callers want. Or we could use boost::hash_range() -- + // but that would require a preliminary pass over the value to determine + // the end iterator. Instead, use boost::hash_combine() to hash individual + // characters. + std::size_t seed = 0; + for ( ; *value; ++value) + boost::hash_combine(seed, *value); + return seed; } #endif |