Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2013-10-11 20:57:25 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:03:29 +0300
commit56f90e5b925aa8340b7b8dc0cf38015567140e39 (patch)
treebc1d82f25ced6ad8787f4961a8bd5332e1a4bed8 /coding/reader.hpp
parent6647889475a48b2b7af842d7c1e87a1a3698013e (diff)
Remove throwing SourceOutOfBoundsException due to runtime overhead (checked in iOS profiler).
Diffstat (limited to 'coding/reader.hpp')
-rw-r--r--coding/reader.hpp22
1 files changed, 4 insertions, 18 deletions
diff --git a/coding/reader.hpp b/coding/reader.hpp
index 6e2a106034..25dd91218b 100644
--- a/coding/reader.hpp
+++ b/coding/reader.hpp
@@ -1,6 +1,5 @@
#pragma once
#include "endianness.hpp"
-#include "source.hpp"
#include "../base/assert.hpp"
#include "../base/logging.hpp"
@@ -180,23 +179,10 @@ public:
void Read(void * p, size_t size)
{
- uint64_t const readerSize = m_reader.Size();
- if (m_pos + size > readerSize)
- {
- size_t remainingSize = 0;
- if (readerSize >= m_pos)
- {
- remainingSize = static_cast<size_t>(readerSize - m_pos);
- m_reader.Read(m_pos, p, remainingSize);
- m_pos = readerSize;
- }
- MYTHROW1(SourceOutOfBoundsException, remainingSize, ());
- }
- else
- {
- m_reader.Read(m_pos, p, size);
- m_pos += size;
- }
+ ASSERT(m_pos + size <= m_reader.Size(), (m_pos, size, m_reader.Size()));
+
+ m_reader.Read(m_pos, p, size);
+ m_pos += size;
}
void Skip(uint64_t size)