aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/extension_set.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix initialization with Visual StudioAdam Cozzette2018-07-061-42/+14
| | | | | | | | | | | | It appears that Visual Studio does not work well with std::once_flag because it has a bug causing it to initialize that during dynamic initialization instead of constant initialization. This change works around the problem by using function static initializers instead. @gerben-s originally wrote this change for the Google-internal codebase but I am just cherry-picking it here. This fixes #4773.
* Integrated internal changes from GoogleAdam Cozzette2018-03-131-14/+123
|
* Integrated internal changes from GoogleAdam Cozzette2017-12-011-0/+2
|
* Integrated internal changes from GoogleAdam Cozzette2017-09-141-1/+54
|
* Merge from Google internal for 3.4 releaseJisi Liu2017-07-181-0/+5
|
* Fix MSVC DLL build.Feng Xiao2017-03-301-3/+1
|
* Down-integrate from google3.Feng Xiao2017-03-291-6/+11
|
* Integrate internal changesBo Yang2016-10-101-4/+4
|
* Fix windows build.Feng Xiao2016-06-301-7/+2
| | | | Change-Id: Ibf7d1df850f4b497303f9f617751be98327898ef
* Integrated internal changes from GoogleAdam Cozzette2016-06-291-7/+64
| | | | This includes all internal changes from around May 20 to now.
* Adding back three missing export macros.Jisi Liu2015-10-051-3/+3
|
* Down-integrate from google internal.Jisi Liu2015-10-051-9/+6
|
* Merge remote-tracking branch 'origin/master' into beta-1Feng Xiao2015-08-291-9/+23
|\ | | | | | | | | Conflicts: src/google/protobuf/extension_set.h
| * Remove a static initializer by removing a global of non-POD type.Peter Kasting2015-08-271-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are banned by the Google style guide, and Chromium has a hard no-new-static-initializers policy preventing updating to a new version of libprotobuf unless this is resolved. This is the first such change, I'll need to make at least one more in the future. Luckily, the protobuf source tree already has an alternative to static initializers in once.h; use that machinery instead. I defined everything in the .cc file in a blob to replace the old implementation rather than matching the .h layout precisely; let me know if a different ordering is preferred. I also eliminated the macro that used to be used here as spelling everything out only takes one additional line, and the macro didn't actually handle all details of using a particular member variable, just the declaration, so it felt a bit error-prone.
* | Down-integrate from google3.Feng Xiao2015-08-221-0/+7
|/
* down-integrate internal changesBo Yang2015-05-211-1/+5
|
* Down-integrate from internal code base.Feng Xiao2014-11-101-3/+13
|
* Change references to `vector` to use `std::vector`Fabrice de Gans-Riberi2014-11-031-1/+1
| | | | | Upstreaming patch used by Chromium in https://codereview.chromium.org/693773003/
* InitializeDefaultRepeatedFields() allocates memory but does not release it.Antoni Buszta2014-10-081-0/+4
|
* Replace links to code.google.com/protobuf with ↵Feng Xiao2014-10-011-1/+1
| | | | developers.google.com/protocol-buffers
* down integrate to svnjieluo@google.com2014-07-181-20/+243
|
* Down-integrate pending changes from internal repository after previous release.liujisi@google.com2014-05-281-1/+1
|
* Fix issue 445, issue 449xiaofeng@google.com2013-02-071-1/+1
|
* Down-integrate from internal branchxiaofeng@google.com2012-09-221-62/+165
|
* Submit recent changes from internal branch. See CHANGES.txt for more details.liujisi@google.com2010-11-021-1/+3
|
* Monty Taylor claims this helps the drizzle compile for some reason.kenton@google.com2010-01-051-4/+6
|
* Fixed DLL compile under MSVC.kenton@google.com2010-01-041-18/+2
|
* Hopefully fix build on Sun Studio.kenton@google.com2009-12-221-3/+3
|
* Massive roll-up of changes. See CHANGES.txt.kenton@google.com2009-12-181-56/+146
|
* Silence pedantic warning about unused parameter.kenton@google.com2009-08-071-1/+1
|
* Fix compile for GCC 3.4.4.kenton@google.com2009-08-011-0/+10
|
* Submit recent changes from internal branch, including "lite mode" forkenton@google.com2009-07-291-47/+97
| | | | | C++ and Java. See CHANGES.txt for more details.
* Add Swap(), SwapElements(), and RemoveLast() to Reflection. Patch by Scott ↵kenton@google.com2009-06-251-0/+3
| | | | Stafford.
* Make building libprotobuf as a DLL work again.kenton@google.com2009-04-281-1/+1
|
* Update MSVC project files for rev 120, and add instructions for compiling ↵kenton@google.com2009-04-271-1/+1
| | | | with zlib.
* Integrate recent changes from Google-internal code tree. See CHANGES.txtkenton@google.com2009-04-251-127/+314
| | | | | for details.
* Integrate changes from internal code.kenton@google.com2008-11-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | protoc * Enum values may now have custom options, using syntax similar to field options. * Fixed bug where .proto files which use custom options but don't actually define them (i.e. they import another .proto file defining the options) had to explicitly import descriptor.proto. * Adjacent string literals in .proto files will now be concatenated, like in C. C++ * Generated message classes now have a Swap() method which efficiently swaps the contents of two objects. * All message classes now have a SpaceUsed() method which returns an estimate of the number of bytes of allocated memory currently owned by the object. This is particularly useful when you are reusing a single message object to improve performance but want to make sure it doesn't bloat up too large. * New method Message::SerializeAsString() returns a string containing the serialized data. May be more convenient than calling SerializeToString(string*). * In debug mode, log error messages when string-type fields are found to contain bytes that are not valid UTF-8. * Fixed bug where a message with multiple extension ranges couldn't parse extensions. * Fixed bug where MergeFrom(const Message&) didn't do anything if invoked on a message that contained no fields (but possibly contained extensions). * Fixed ShortDebugString() to not be O(n^2). Durr. * Fixed crash in TextFormat parsing if the first token in the input caused a tokenization error. Java * New overload of mergeFrom() which parses a slice of a byte array instead of the whole thing. * New method ByteString.asReadOnlyByteBuffer() does what it sounds like. * Improved performance of isInitialized() when optimizing for code size. Python * Corrected ListFields() signature in Message base class to match what subclasses actually implement. * Some minor refactoring.
* 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
* Integrate recent changes from google3.temporal2008-08-131-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | protoc - New flags --encode and --decode can be used to convert between protobuf text format and binary format from the command-line. - New flag --descriptor_set_out can be used to write FileDescriptorProtos for all parsed files directly into a single output file. This is particularly useful if you wish to parse .proto files from programs written in languages other than C++: just run protoc as a background process and have it output a FileDescriptorList, then parse that natively. C++ - Reflection objects are now per-class rather than per-instance. To make this possible, the Reflection interface had to be changed such that all methods take the Message instance as a parameter. This change improves performance significantly in memory-bandwidth-limited use cases, since it makes the message objects smaller. Note that source-incompatible interface changes like this will not be made again after the library leaves beta. Python - MergeFrom(message) and CopyFrom(message) are now implemented. - SerializeToString() raises an exception if the message is missing required fields. - Code organization improvements. - Fixed doc comments for RpcController and RpcChannel, which had somehow been swapped.
* Initial checkin.temporal2008-07-101-0/+555