// Copyright (c) 2011 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#ifndef BASE_HASH_H_#define BASE_HASH_H_#include <limits>#include <string>#include "base/base_export.h"#include "base/basictypes.h"#include "base/logging.h"namespacebase{// WARNING: This hash function should not be used for any cryptographic purpose.BASE_EXPORTuint32_tSuperFastHash(constchar*data,intlen);// Computes a hash of a memory buffer |data| of a given |length|.// WARNING: This hash function should not be used for any cryptographic purpose.inlineuint32_tHash(constchar*data,size_tlength){if(length>static_cast<size_t>(std::numeric_limits<int>::max())){NOTREACHED();return0;}returnSuperFastHash(data,static_cast<int>(length));}// Computes a hash of a string |str|.// WARNING: This hash function should not be used for any cryptographic purpose.inlineuint32_tHash(conststd::string&str){returnHash(str.data(),str.size());}}// namespace base#endif // BASE_HASH_H_