diff options
author | pliard@google.com <pliard@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2012-03-02 14:00:20 +0000 |
---|---|---|
committer | pliard@google.com <pliard@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2012-03-02 14:00:20 +0000 |
commit | 324779ad702fdef0cd3bd4e56ed0128ffaa6113e (patch) | |
tree | c8a36c5f235e24bf0eed78c4f1d4b31273db3273 /src/google/protobuf/io/coded_stream.h | |
parent | f5de486b533e0f0a22d7a4b3606619dda65e294d (diff) |
Remove static initializer in wire_format_lite.cc.
Diffstat (limited to 'src/google/protobuf/io/coded_stream.h')
-rw-r--r-- | src/google/protobuf/io/coded_stream.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/google/protobuf/io/coded_stream.h b/src/google/protobuf/io/coded_stream.h index 1b6b4e18..97ac5079 100644 --- a/src/google/protobuf/io/coded_stream.h +++ b/src/google/protobuf/io/coded_stream.h @@ -680,6 +680,21 @@ class LIBPROTOBUF_EXPORT CodedOutputStream { // If negative, 10 bytes. Otheriwse, same as VarintSize32(). static int VarintSize32SignExtended(int32 value); + // Compile-time equivalent of VarintSize32(). + template <uint32 Value> + struct StaticVarintSize32 { + static const int value = + (Value < (1 << 7)) + ? 1 + : (Value < (1 << 14)) + ? 2 + : (Value < (1 << 21)) + ? 3 + : (Value < (1 << 28)) + ? 4 + : 5; + }; + // Returns the total number of bytes written since this object was created. inline int ByteCount() const; |