##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::fpos

From cppreference.com
< cpp‎ | io

Defined in header `<ios>` |  |
template< class State > class fpos; |  |

Specializations of the class template std::fpos identify absolute positions in a stream or in a file. Each object of type `fpos` holds the byte position in the stream (typically as a private member of type std::streamoff) and the current shift state, a value of type `State` (typically std::mbstate_t).

Four specializations of std::fpos are provided:

Defined in header `<ios>`
Type | Definition
`streampos` | std::fpos<std::char_traits<char>::state_type>
`u16streampos` | std::fpos<std::char_traits<char16_t>::state_type>
`u32streampos` | std::fpos<std::char_traits<char32_t>::state_type>
`wstreampos` | std::fpos<std::char_traits<wchar_t>::state_type>

### [edit] Member functions

state | gets/sets the value of the shift state (public member function)

In addition, the following member functions and operators must be provided, although it's unspecified if they are members or non-member.

- A constructor that accepts an argument of type int.

- A constructor that accepts an argument of type std::streamoff. This constructor must also accept the special value std::streamoff(-1): the `std::fpos` constructed in this manner is returned by some stream operations to indicate errors.

- A conversion operator that converts `fpos` to std::streamoff with the value equal to the offset from `std::fpos(0)`.

- operator== that compares two objects of type `std::fpos` and returns a value of type convertible to bool

- operator!= that compares two objects of type `std::fpos` and returns a value of type convertible to bool

- operator+ and operator+= which can add std::streamoff to `std::fpos`

- operator- and operator-= which can subtract std::streamoff from an `std::fpos`

- operator- which can subtract two objects of type `std::fpos` producing an std::streamoff

### [edit] See also

streamoff | represents relative file/stream position (offset from fpos), sufficient to represent any file size (typedef)
tellp | returns the output position indicator (public member function of `std::basic_ostream`) [edit]
seekp | sets the output position indicator (public member function of `std::basic_ostream`) [edit]
fgetpos | gets the file position indicator (function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/fpos&oldid=57851"