3rdParty/boost/1.78.0/libs/iostreams/doc/functions/positioning.html
OverviewAcknowledgmentsHeadersReference
The header <boost/iostreams/positioning.hpp> provides the definition of the integral type boost::iostreams::stream_offset, capable of holding arbitrary stream offsets on most platforms, together with the definition of two functions, offset_to_position and position_to_offset, for converting between stream_offset and std::streampos.
The type std::streampos is required to be able to hold an arbitrary stream position, but it is not an intergral type. Although std::streampos is interconvertible with the integral type std::streamoff, the conversion from std::streampos to std::streamoff may not be faithful for large (64-bit) values. The integral type boost::iostreams::stream_offset is intended as a replacement for std::streamoff, with the implicit conversions to and from std::streampos being replaced by explicit conversion functions.
The implementation of offset_to_position and position_to_offset relies on implementation defined behavior, and is guaranteed to work correctly for large values only for standard libraries which define std::streamoff to be 64-bit type or for which the Boost Iostreams library has been explicitly configured.
Gareth Sylvester-Bradley suggested the treatment of large stream offsets used by the Boost Iostreams library and supplied the implementation of offset_to_position and position_to_offset used with the Dinkumware standard library.
<boost/iostreams/positioning.hpp>
namespaceboost {namespaceiostreams {typedef[boost::intmax\_t](../../../integer/doc/html/boost_integer/cstdint.html)stream_offset;
std::streampos[offset\_to\_position](#offset_to_position)(stream_offset n);
stream_offset[position\_to\_offset](#position_to_offset)(std::streampos pos);
} }// End namespace boost::io
offset_to_positionstd::streampos offset_to_position(stream_offset n);
Returns a std::streampos representing the nth position in a stream.
position_to_offsetstream_offset position_to_offset(std::streampos pos);
Returns a stream_offset representing the same character position as pos, disregarding any code-conversion state.
© Copyright 2008 CodeRage, LLC
© Copyright 2004-2007 Jonathan Turkanis
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)