VarInt: added method getLengthOfVarInt().

This commit is contained in:
Alexey Milovidov 2010-07-06 18:50:24 +00:00
parent a55f64a8aa
commit 6390f54f9f
2 changed files with 9 additions and 0 deletions

View File

@ -23,6 +23,9 @@ void readVarUInt(UInt64 & x, ReadBuffer & istr);
/** Получить длину UInt64 в формате VarUInt */ /** Получить длину UInt64 в формате VarUInt */
size_t getLengthOfVarUInt(UInt64 x); size_t getLengthOfVarUInt(UInt64 x);
/** Получить длину Int64 в формате VarInt */
size_t getLengthOfVarInt(Int64 x);
/** Записать Int64 в формате переменной длины (base128) */ /** Записать Int64 в формате переменной длины (base128) */
template <typename OUT> template <typename OUT>

View File

@ -287,4 +287,10 @@ size_t getLengthOfVarUInt(UInt64 x)
} }
size_t getLengthOfVarInt(Int64 x)
{
return getLengthOfVarUInt(static_cast<UInt64>((x << 1) ^ (x >> 63)));
}
} }