#region Copyright notice and license // Protocol Buffers - Google's data interchange format // Copyright 2015 Google Inc. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file or at // https://developers.google.com/open-source/licenses/bsd #endregion namespace Google.Protobuf { /// /// Generic interface for a deeply cloneable type. /// /// /// /// All generated messages implement this interface, but so do some non-message types. /// Additionally, due to the type constraint on T in , /// it is simpler to keep this as a separate interface. /// /// /// The type itself, returned by the method. public interface IDeepCloneable { /// /// Creates a deep clone of this object. /// /// A deep clone of this object. T Clone(); } }