forked from organicmaps/organicmaps
Review fixes.
This commit is contained in:
parent
90bde56951
commit
6cbb49c857
2 changed files with 12 additions and 3 deletions
|
@ -100,7 +100,7 @@ DenseCBV::DenseCBV(vector<uint64_t> const & setBits)
|
|||
uint64_t maxBit = setBits[0];
|
||||
for (size_t i = 1; i < setBits.size(); ++i)
|
||||
maxBit = max(maxBit, setBits[i]);
|
||||
size_t sz = 1 + maxBit / kBlockSize;
|
||||
size_t const sz = 1 + maxBit / kBlockSize;
|
||||
m_bitGroups.resize(sz);
|
||||
m_popCount = static_cast<uint32_t>(setBits.size());
|
||||
for (uint64_t pos : setBits)
|
||||
|
@ -220,9 +220,13 @@ unique_ptr<CompressedBitVector> CompressedBitVectorBuilder::FromBitGroups(
|
|||
|
||||
vector<uint64_t> setBits;
|
||||
for (size_t i = 0; i < bitGroups.size(); ++i)
|
||||
{
|
||||
for (size_t j = 0; j < kBlockSize; ++j)
|
||||
{
|
||||
if (((bitGroups[i] >> j) & 1) > 0)
|
||||
setBits.push_back(kBlockSize * i + j);
|
||||
}
|
||||
}
|
||||
return make_unique<SparseCBV>(setBits);
|
||||
}
|
||||
|
||||
|
|
|
@ -229,15 +229,20 @@ inline void ReadFromPos(TReader const & reader, uint64_t pos, void * p, size_t s
|
|||
template <typename TPrimitive, class TReader>
|
||||
inline TPrimitive ReadPrimitiveFromPos(TReader const & reader, uint64_t pos)
|
||||
{
|
||||
#ifndef OMIM_OS_LINUX
|
||||
static_assert(is_trivially_copyable<TPrimitive>::value, "");
|
||||
#endif
|
||||
TPrimitive primitive;
|
||||
ReadFromPos(reader, pos, &primitive, sizeof(primitive));
|
||||
return SwapIfBigEndian(primitive);
|
||||
}
|
||||
|
||||
template <typename TPrimitive, class TSource>
|
||||
inline typename enable_if<is_trivially_copyable<TPrimitive>::value, TPrimitive>::type
|
||||
ReadPrimitiveFromSource(TSource & source)
|
||||
TPrimitive ReadPrimitiveFromSource(TSource & source)
|
||||
{
|
||||
#ifndef OMIM_OS_LINUX
|
||||
static_assert(is_trivially_copyable<TPrimitive>::value, "");
|
||||
#endif
|
||||
TPrimitive primitive;
|
||||
source.Read(&primitive, sizeof(primitive));
|
||||
return SwapIfBigEndian(primitive);
|
||||
|
|
Loading…
Add table
Reference in a new issue