Index: third_party/protobuf/csharp/src/Google.Protobuf/IDeepCloneable.cs |
diff --git a/third_party/protobuf/python/google/protobuf/internal/more_messages.proto b/third_party/protobuf/csharp/src/Google.Protobuf/IDeepCloneable.cs |
similarity index 63% |
copy from third_party/protobuf/python/google/protobuf/internal/more_messages.proto |
copy to third_party/protobuf/csharp/src/Google.Protobuf/IDeepCloneable.cs |
index c701b4460b761a7f9db44e1159a1aadf7206a64a..c9c71bbe2c013465f3375cbc26f2c301bf67824d 100644 |
--- a/third_party/protobuf/python/google/protobuf/internal/more_messages.proto |
+++ b/third_party/protobuf/csharp/src/Google.Protobuf/IDeepCloneable.cs |
@@ -1,6 +1,7 @@ |
+#region Copyright notice and license |
// Protocol Buffers - Google's data interchange format |
-// Copyright 2008 Google Inc. All rights reserved. |
-// http://code.google.com/p/protobuf/ |
+// Copyright 2015 Google Inc. All rights reserved. |
+// https://developers.google.com/protocol-buffers/ |
// |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
@@ -27,25 +28,27 @@ |
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+#endregion |
-// Author: robinson@google.com (Will Robinson) |
- |
- |
-package google.protobuf.internal; |
- |
-// A message where tag numbers are listed out of order, to allow us to test our |
-// canonicalization of serialized output, which should always be in tag order. |
-// We also mix in some extensions for extra fun. |
-message OutOfOrderFields { |
- optional sint32 optional_sint32 = 5; |
- extensions 4 to 4; |
- optional uint32 optional_uint32 = 3; |
- extensions 2 to 2; |
- optional int32 optional_int32 = 1; |
-}; |
- |
- |
-extend OutOfOrderFields { |
- optional uint64 optional_uint64 = 4; |
- optional int64 optional_int64 = 2; |
+namespace Google.Protobuf |
+{ |
+ /// <summary> |
+ /// Generic interface for a deeply cloneable type. |
+ /// </summary> |
+ /// <remarks> |
+ /// <para> |
+ /// All generated messages implement this interface, but so do some non-message types. |
+ /// Additionally, due to the type constraint on <c>T</c> in <see cref="IMessage{T}"/>, |
+ /// it is simpler to keep this as a separate interface. |
+ /// </para> |
+ /// </remarks> |
+ /// <typeparam name="T">The type itself, returned by the <see cref="Clone"/> method.</typeparam> |
+ public interface IDeepCloneable<T> |
+ { |
+ /// <summary> |
+ /// Creates a deep clone of this object. |
+ /// </summary> |
+ /// <returns>A deep clone of this object.</returns> |
+ T Clone(); |
+ } |
} |