stream: use indexing operator for pointer arithmetics
This commit is contained in:
parent
4477706f06
commit
0ae7fb6c7c
@ -3557,7 +3557,7 @@ namespace stdex
|
|||||||
#endif
|
#endif
|
||||||
size_t available = m_size - m_offset;
|
size_t available = m_size - m_offset;
|
||||||
if (length <= available) {
|
if (length <= available) {
|
||||||
memcpy(data, m_data + m_offset, length);
|
memcpy(data, &m_data[m_offset], length);
|
||||||
m_offset += length;
|
m_offset += length;
|
||||||
m_state = state_t::ok;
|
m_state = state_t::ok;
|
||||||
return length;
|
return length;
|
||||||
@ -3566,7 +3566,7 @@ namespace stdex
|
|||||||
m_state = state_t::eof;
|
m_state = state_t::eof;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
memcpy(data, m_data + m_offset, available);
|
memcpy(data, &m_data[m_offset], available);
|
||||||
m_offset += available;
|
m_offset += available;
|
||||||
m_state = state_t::ok;
|
m_state = state_t::ok;
|
||||||
return available;
|
return available;
|
||||||
@ -3598,7 +3598,7 @@ namespace stdex
|
|||||||
}
|
}
|
||||||
size_t end_offset = m_offset + sizeof(T);
|
size_t end_offset = m_offset + sizeof(T);
|
||||||
if (end_offset <= m_size) {
|
if (end_offset <= m_size) {
|
||||||
data = LE2HE(*reinterpret_cast<T*>(m_data + m_offset));
|
data = LE2HE(*reinterpret_cast<T*>(&m_data[m_offset]));
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
#if !CHECK_STREAM_STATE
|
#if !CHECK_STREAM_STATE
|
||||||
m_state = state_t::ok;
|
m_state = state_t::ok;
|
||||||
@ -3638,10 +3638,10 @@ namespace stdex
|
|||||||
}
|
}
|
||||||
size_t end_offset = m_offset + sizeof(uint32_t);
|
size_t end_offset = m_offset + sizeof(uint32_t);
|
||||||
if (end_offset <= m_size) {
|
if (end_offset <= m_size) {
|
||||||
uint32_t num_chars = LE2HE(*reinterpret_cast<uint32_t*>(m_data + m_offset));
|
uint32_t num_chars = LE2HE(*reinterpret_cast<uint32_t*>(&m_data[m_offset]));
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
end_offset = stdex::add(m_offset, stdex::mul(num_chars, sizeof(T)));
|
end_offset = stdex::add(m_offset, stdex::mul(num_chars, sizeof(T)));
|
||||||
T* start = reinterpret_cast<T*>(m_data + m_offset);
|
T* start = reinterpret_cast<T*>(&m_data[m_offset]);
|
||||||
if (end_offset <= m_size) {
|
if (end_offset <= m_size) {
|
||||||
data.assign(start, start + num_chars);
|
data.assign(start, start + num_chars);
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
@ -3651,7 +3651,7 @@ namespace stdex
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
if (end_offset <= m_size)
|
if (end_offset <= m_size)
|
||||||
data.assign(start, reinterpret_cast<T*>(m_data + m_size));
|
data.assign(start, reinterpret_cast<T*>(&m_data[m_size]));
|
||||||
}
|
}
|
||||||
m_offset = m_size;
|
m_offset = m_size;
|
||||||
m_state = state_t::eof;
|
m_state = state_t::eof;
|
||||||
@ -3671,7 +3671,7 @@ namespace stdex
|
|||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
memcpy(m_data + m_offset, data, length);
|
memcpy(&m_data[m_offset], data, length);
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
if (m_offset > m_size)
|
if (m_offset > m_size)
|
||||||
m_size = m_offset;
|
m_size = m_offset;
|
||||||
@ -3693,7 +3693,7 @@ namespace stdex
|
|||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memset(m_data + m_offset, byte, amount);
|
memset(&m_data[m_offset], byte, amount);
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
if (m_offset > m_size)
|
if (m_offset > m_size)
|
||||||
m_size = m_offset;
|
m_size = m_offset;
|
||||||
@ -3728,7 +3728,7 @@ namespace stdex
|
|||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
(*reinterpret_cast<T*>(m_data + m_offset)) = HE2LE(data);
|
(*reinterpret_cast<T*>(&m_data[m_offset])) = HE2LE(data);
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
if (m_offset > m_size)
|
if (m_offset > m_size)
|
||||||
m_size = m_offset;
|
m_size = m_offset;
|
||||||
@ -3771,7 +3771,7 @@ namespace stdex
|
|||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
auto p = m_data + m_offset;
|
auto p = &m_data[m_offset];
|
||||||
*reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
|
*reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
|
||||||
memcpy(p + sizeof(uint32_t), data, size_chars);
|
memcpy(p + sizeof(uint32_t), data, size_chars);
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
@ -3816,7 +3816,7 @@ namespace stdex
|
|||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
auto p = m_data + m_offset;
|
auto p = &m_data[m_offset];
|
||||||
*reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
|
*reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
|
||||||
memcpy(p + sizeof(uint32_t), data.data(), size_chars);
|
memcpy(p + sizeof(uint32_t), data.data(), size_chars);
|
||||||
m_offset = end_offset;
|
m_offset = end_offset;
|
||||||
@ -3847,7 +3847,7 @@ namespace stdex
|
|||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
return 0;
|
return 0;
|
||||||
while (to_write) {
|
while (to_write) {
|
||||||
num_read = stream.read(m_data + dst_offset, to_write);
|
num_read = stream.read(&m_data[dst_offset], to_write);
|
||||||
/*dst_size =*/ dst_offset += num_read;
|
/*dst_size =*/ dst_offset += num_read;
|
||||||
num_copied += num_read;
|
num_copied += num_read;
|
||||||
to_write -= num_read;
|
to_write -= num_read;
|
||||||
@ -3866,7 +3866,7 @@ namespace stdex
|
|||||||
reserve(dst_size);
|
reserve(dst_size);
|
||||||
if (!ok()) _Unlikely_
|
if (!ok()) _Unlikely_
|
||||||
break;
|
break;
|
||||||
num_read = stream.read(m_data + dst_offset, block_size);
|
num_read = stream.read(&m_data[dst_offset], block_size);
|
||||||
dst_size = dst_offset += num_read;
|
dst_size = dst_offset += num_read;
|
||||||
num_copied += num_read;
|
num_copied += num_read;
|
||||||
to_write -= num_read;
|
to_write -= num_read;
|
||||||
@ -3979,7 +3979,7 @@ namespace stdex
|
|||||||
m_atime = m_mtime = time_point::now();
|
m_atime = m_mtime = time_point::now();
|
||||||
#endif
|
#endif
|
||||||
stdex_assert(offset + sizeof(T) < m_size);
|
stdex_assert(offset + sizeof(T) < m_size);
|
||||||
(*reinterpret_cast<T*>(m_data + offset)) = HE2LE(data);
|
(*reinterpret_cast<T*>(&m_data[offset])) = HE2LE(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -4010,7 +4010,7 @@ namespace stdex
|
|||||||
void get(_In_ fpos_t offset, _Out_ T & data)
|
void get(_In_ fpos_t offset, _Out_ T & data)
|
||||||
{
|
{
|
||||||
stdex_assert(offset + sizeof(T) < m_size);
|
stdex_assert(offset + sizeof(T) < m_size);
|
||||||
data = LE2HE(*(T*)(m_data + offset));
|
data = LE2HE(*(T*)(&m_data[offset]));
|
||||||
#if SET_FILE_OP_TIMES
|
#if SET_FILE_OP_TIMES
|
||||||
m_atime = time_point::now();
|
m_atime = time_point::now();
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user