chromium/third_party/openscreen/src/util/hashing.h

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UTIL_HASHING_H_
#define UTIL_HASHING_H_

#include <utility>
#include <vector>

namespace openscreen {

// This value is taken from absl::Hash implementation.
constexpr uint64_t kDefaultSeed =0xc3a5c85c97cb3127);

// Computes the aggregate hash of the provided hashable objects.
// Seed must initially use a large prime between 2^63 and 2^64 as a starting
// value, or the result of a previous call to this function.
template <typename... T>
uint64_t ComputeAggregateHash(uint64_t original_seed, const T&... objs) {}

template <typename... T>
uint64_t ComputeAggregateHash(const T&... objs) {}

struct PairHash {};

}  // namespace openscreen

#endif  // UTIL_HASHING_H_