std::fpos
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | 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).
The following specializations of std::fpos are provided:
| Type | Definition | 
| streampos | std::fpos<std::char_traits<char>::state_type> | 
| wstreampos | std::fpos<std::char_traits<wchar_t>::state_type> | 
[edit] Member functions
| 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::fposconstructed in this manner is returned by some stream operations to indicate errors.
-  A conversion operator that converts fposto std::streamoff with the value equal to the offset fromstd::fpos(0).
-  operator== that compares two objects of type std::fposand returns a value of type convertible to bool
-  operator!= that compares two objects of type std::fposand 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::fposproducing an std::streamoff
| This section is incomplete Reason: What's the relationship between std::fpos and cpp/concept/pos_type? | 
[edit] See also
| represents relative file/stream position (offset from fpos), sufficient to represent any file size (typedef) | |
| returns the output position indicator (public member function of std::basic_ostream) | |
| sets the output position indicator (public member function of std::basic_ostream) | |
| gets the file position indicator (function) | 


