| Commit message (Collapse) | Author | Age |
| |
|
|\
| |
| | |
Add support for libc++ on Windows.
|
| |
| |
| |
| |
| |
| | |
These statements pulled a bunch of symbols from the std namespace into
the global namespace. This commit removes all of them except for
std::string, which is a bit trickier to remove.
|
|/
|
|
|
| |
This disables a couple of workarounds which are only necessary with
MSVC's standard library and cause problems with libc++.
|
| |
|
|
|
|
|
|
|
| |
Correct a couple places where macros were being checked when they
might not exist in some cases.
Fixes #3356.
|
|
|
|
|
|
|
| |
Rather than crashing on use (doh!) better to just declare this platform
is missing a proper hash_map/hash_set implementation and use
the std::map/std::set emulation.
Fixes regression introduced by #1913
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Fix gcc 4.1.2 compilation of map_field_inl.h
Fixes "error: object missing in reference to '...'" errors from #1035
* Disable 64-bit map keys on gcc <= 4.1
* Add missing case statements
|
|
|
|
|
|
|
| |
This #ifdef in hash.h causes us to give up on finding a hash function on
Android, when there do seem to be hash functions available in practice.
I also had to tweak a macro in map.h that was disabling on Android an
allocator construct() method that we need.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Refine check for unordered_{map|set} availability.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
It's not enough to check for C++11 language support, as it's possible for
projects to enable C++11 language and library features independently (e.g.
Chromium currently does this). Instead, explicitly check the library version to
see if it is recent enough to include unordered_{map|set}.
|
| | |
|
|/
|
|
| |
Change-Id: Ieb7a2c2fbf35bc2a8fa65b915a5ecb68c83863e4
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We use a custom allocator for map fields and this allocator must be
passed correctly to hash_map to make sure it's allocated properly
with our custom allocator.
Change-Id: Ie59fa24bf11ff28ffd0fa870e24e456c66b2b9c5
|
|\
| |
| | |
Undef GOOGLE_PROTOBUF_MISSING_HASH after it is used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a follow up CL for df184fba00acc7d4aa7b9d64693c53c815a64eda
(Id937e25bbb35968ee76c92bd4a8ce6247408c443), which added
#undef GOOGLE_PROTOBUF_MISSING_HASH
where GOOGLE_PROTOBUF_MISSING_HASH macro is never defined.
With this CL, GOOGLE_PROTOBUF_MISSING_HASH macro will be cleaned up
after it is used.
|
|/
|
|
| |
Change-Id: I66f216c70a19f44637090878d7e442d4d0f8991b
|
|
|
|
| |
Change-Id: Ic0fdb52c17b9495c73b8ce15879531383a148585
|
|
|
|
| |
Change-Id: Idc5fb65a2cc469d55aff6f2cde0b51b326be0963
|
|
|
|
|
|
|
|
| |
- Maps for C++ lite
- C++ Arena optimizations.
- Java Lite runtime code size optimization.
Change-Id: I7537a4357c1cb385d23f9e8aa7ffdfeefe079f13
|
|
|
|
| |
Change-Id: Id937e25bbb35968ee76c92bd4a8ce6247408c443
|
|
|
|
| |
developers.google.com/protocol-buffers
|
| |
|
| |
|
|
|
|
| |
Smolsky.
|
| |
|
|
|
|
|
| |
for details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Also, update version numbers to 2.0.2-SNAPSHOT.
|
|
|