Handles the case where a given size exceeds the maximum value that can
be contained within a DWORD.
Given a DWORD is 32-bit in size and an atUint64 is 64-bits in size, this
avoids errors on valid sizes, even if they're extremely unlikely to ever
The input type is already the same type as the class member, so the cast
While we're at it, we can also remove an unnecessary initializer for
m_position, since we initialize this to zero within the class
Most of the interface can be const qualified except for the setters.
While we're at it, we can also make the private member functions
internally linked helper functions, given they don't depend on instance
state at all.
<iostream> injects a static constructor into every translation unit that
includes the header--even if nothing from the header is used. This can
result in minor initial program slowdown, as all of these constructors
need to run before main() can execute.
Instead, we can use <ostream>, which includes all of the necessary
machinery that we need.