blob: 26d3123538ef5e1f365e409f28eb029b9d517e7c [file] [log] [blame]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SYNC_PROTOCOL_PROTO_MEMORY_ESTIMATIONS_H_
#define COMPONENTS_SYNC_PROTOCOL_PROTO_MEMORY_ESTIMATIONS_H_
#include <stddef.h>
namespace sync_pb {
// Estimates memory usage for a proto.
// Needs to be in sync_pb namespace for ADL to find it (when for example
// EstimateMemoryUsage() is called on a list of protos).
// Note: if you get linking errors you need to add explicit instantiation at
// the end of the implementation file.
template <class P>
size_t EstimateMemoryUsage(const P& proto);
} // namespace sync_pb
#endif // COMPONENTS_SYNC_PROTOCOL_PROTO_MEMORY_ESTIMATIONS_H_