aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/io/coded_stream.h
Commit message (Collapse)AuthorAgeFilesLines
* Down-integrate from internal branchxiaofeng@google.com2012-09-221-14/+33
|
* Remove static initializer in wire_format_lite.cc.pliard@google.com2012-03-021-0/+15
|
* Fix issues: 200 202 211 215 237 246.liujisi@google.com2010-12-061-1/+1
|
* Fix byte encoding macros.liujisi@google.com2010-12-011-4/+2
|
* Add some explicit casts to eliminate some warnings as described in issue 83 ↵kenton@google.com2010-11-301-2/+2
| | | | comment 17.
* Submit recent changes from internal branch. See CHANGES.txt for more details.liujisi@google.com2010-11-021-4/+6
|
* Improve coded_stream.h handling on MSVC. Avoid a bogus runtime check and ↵kenton@google.com2010-04-051-16/+28
| | | | enable little-endian optimization. Based on patch from Nathan McDaniel.
* Fix missing header issue -- INT_MAX is defined in limits.h. I chose to use ↵kenton@google.com2010-02-091-1/+1
| | | | a different constant rather than add the #include.
* Fix bogus sign-compare warnings in header at request of user.kenton@google.com2010-01-111-2/+2
|
* Massive roll-up of changes. See CHANGES.txt.kenton@google.com2009-12-181-22/+325
|
* Submit recent changes from internal branch, including "lite mode" forkenton@google.com2009-07-291-0/+46
| | | | | C++ and Java. See CHANGES.txt for more details.
* Integrate recent changes from Google-internal code tree. See CHANGES.txtkenton@google.com2009-04-251-34/+145
| | | | | for details.
* Push out changes from internal codebase.kenton@google.com2009-01-221-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All Languages * Repeated fields of primitive types (types other that string, group, and nested messages) may now use the option [packed = true] to get a more efficient encoding. In the new encoding, the entire list is written as a single byte blob using the "length-delimited" wire type. Within this blob, the individual values are encoded the same way they would be normally except without a tag before each value (thus, they are tightly "packed"). C++ * UnknownFieldSet now supports STL-like iteration. * Message interface has method ParseFromBoundedZeroCopyStream() which parses a limited number of bytes from an input stream rather than parsing until EOF. Java * Fixed bug where Message.mergeFrom(Message) failed to merge extensions. * Message interface has new method toBuilder() which is equivalent to newBuilderForType().mergeFrom(this). * All enums now implement the ProtocolMessageEnum interface. * Setting a field to null now throws NullPointerException. * Fixed tendency for TextFormat's parsing to overflow the stack when parsing large string values. The underlying problem is with Java's regex implementation (which unfortunately uses recursive backtracking rather than building an NFA). Worked around by making use of possesive quantifiers. Python * Updated RPC interfaces to allow for blocking operation. A client may now pass None for a callback when making an RPC, in which case the call will block until the response is received, and the response object will be returned directly to the caller. This interface change cannot be used in practice until RPC implementations are updated to implement it.
* Integrate changes from internal Google-internal branch.kenton@google.com2008-09-241-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | General * License changed from Apache 2.0 to New BSD. * It is now possible to define custom "options", which are basically annotations which may be placed on definitions in a .proto file. For example, you might define a field option called "foo" like so: import "google/protobuf/descriptor.proto" extend google.protobuf.FieldOptions { optional string foo = 12345; } Then you annotate a field using the "foo" option: message MyMessage { optional int32 some_field = 1 [(foo) = "bar"] } The value of this option is then visible via the message's Descriptor: const FieldDescriptor* field = MyMessage::descriptor()->FindFieldByName("some_field"); assert(field->options().GetExtension(foo) == "bar"); This feature has been implemented and tested in C++ and Java. Other languages may or may not need to do extra work to support custom options, depending on how they construct descriptors. C++ * Fixed some GCC warnings that only occur when using -pedantic. * Improved static initialization code, making ordering more predictable among other things. * TextFormat will no longer accept messages which contain multiple instances of a singular field. Previously, the latter instance would overwrite the former. * Now works on systems that don't have hash_map. Python * Strings now use the "unicode" type rather than the "str" type. String fields may still be assigned ASCII "str" values; they will automatically be converted. * Adding a property to an object representing a repeated field now raises an exception. For example: # No longer works (and never should have). message.some_repeated_field.foo = 1
* Initial checkin.temporal2008-07-101-0/+592