aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers/Collections
Commit message (Collapse)AuthorAgeFilesLines
* Tweaks and more tests for mapsJon Skeet2015-06-262-3/+2
| | | | | | | | | | | | | | | - Change the default message hash code to 1 to be consistent with other code - Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map" - Removed map fields from unittest_proto3.proto - Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only - Fixed factory methods in FieldCodec highlighted by using all field types :) - Added tests for map serialization: - Extra fields within entries - Entries with value then key - Non-contiguous entries for the same map - Multiple entries for the same key Changes to generated code coming in next commit
* More map tests, and various production code improvements.Jon Skeet2015-06-251-15/+49
| | | | Generated code in next commit.
* First pass at map support.Jon Skeet2015-06-251-0/+400
| | | | More tests required. Generated code in next commit.
* Implement freezing for messages and repeated fields.Jon Skeet2015-06-241-2/+33
| | | | Fixes issue #523.
* Implement Clone.Jon Skeet2015-06-231-0/+30
| | | | Fixes issue #527.
* Use an empty array instead of a null reference for an empty repeated field.Jon Skeet2015-06-191-22/+10
|
* Reimplement RepeatedField<T> using an array as the backing store.Jon Skeet2015-06-121-33/+206
| | | | | | | | | | This is effectively reimplementing List<T>, but with a few advantages: - We know that an empty repeated field is common, so don't allocate an array until we need to - With direct access to the array, we can easily convert enum values to int without boxing - We can relax the restrictions over what happens if the repeated field is modified while iterating, avoiding so much checking This is somewhat risky, in that reimplementing a building block like this is *always* risky, but hey... (The performance benefits are significant...)
* First pass at the mutable API. Quite a bit more to do - in particular, it's ↵Jon Skeet2015-06-098-270/+219
| | | | pretty slow right now.
* Imported protobuf-csharp-port into csharp/ treeJan Tattermusch2015-04-166-0/+718