Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::fpos(3)		      C++ Standard Libary		  std::fpos(3)

NAME
       std::fpos - std::fpos

Synopsis
	  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	 posi-
       tion in the stream
	  (typically  as a private member of type std::streamoff) and the cur-
       rent shift state,
	  a value of type State	(typically std::mbstate_t).

	  The following	typedef	names for std::fpos<std::mbstate_t>  are  pro-
       vided (although
	  they	are  spelled differently in the	standard, they denote the same
       type):

	  Defined in header <iosfwd>
	  Type			    Definition
	  std::streampos
       std::fpos<std::char_traits<char>::state_type>
	  std::wstreampos
       std::fpos<std::char_traits<wchar_t>::state_type>
	  std::u8streampos(C++20)
       std::fpos<std::char_traits<char8_t>::state_type>
	  std::u16streampos					       (C++11)
       std::fpos<std::char_traits<char16_t>::state_type>
	  std::u32streampos					       (C++11)
       std::fpos<std::char_traits<char32_t>::state_type>

	  All specializations of fpos meet the DefaultConstructible,  CopyCon-
       structible,
	  CopyAssignable, Destructible,	and EqualityComparable requirements.

	  If  State  is	 trivially copy	constructible, fpos has	a trivial copy
       constructor. If
	  State	is trivially copy assignable, fpos has a trivial copy  assign-
       ment operator. If
	  State	is trivially destructible, fpos	has a trivial destructor.

Type requirements
	  -
	  State	 must  meet  the requirements of Destructible, CopyAssignable,
       CopyConstructible
	  and DefaultConstructible.

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

	  In addition, member and non-member functions are provided to support
       the following
	  operations:

	    * A	default	constructor that stores	an offset of zero  and	value-
       initializes the
	      state object.
	    *  A  non-explicit	constructor  that  accepts an argument of type
       (possibly const)
	      std::streamoff, which stores that	offset	and  value-initializes
       the state object.
	      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.
	    *	 Explicit   conversion	 from	(possibly   const)   fpos   to
       std::streamoff. The result is
	      the stored offset.
	    * operator== and operator!=	that compare two objects of type (pos-
       sibly const)
	      std::fpos	and returns a value of type convertible	to bool. p  !=
       q is equivalent
	      to !(p ==	q).
	    * operator+	and operator- such that, for an	object p of type (pos-
       sibly const)
	      fpos<State>   and	  an   object	o  of  type  (possibly	const)
       std::streamoff

	    * p	+ o has	type fpos<State> and stores an offset that is the  re-
       sult of adding o
	      to the offset of p.
	    *  o  +  p has a type convertible to fpos<State> and the result of
       the conversion is
	      equal to p + o.
	    * p	- o has	type fpos<State> and stores an offset that is the  re-
       sult of
	      subtracting o from the offset of p.
	    *  operator+=  and	operator-= which can accept a (possibly	const)
       std::streamoff and
	      adds/subtracts it	from the stored	offset,	respectively.
	    * operator-	which can  subtract  two  objects  of  type  (possibly
       const) std::fpos
	      producing	 an  std::streamoff,  such that	for two	such objects p
       and q, p	== q + (p
	      -	q).

Notes
	  Some of the I/O streams member functions return and  manipulate  ob-
       jects of	member
	  typedef pos_type. For	streams, these member typedefs are provided by
       the template
	  parameter  Traits,  which defaults to	std::char_traits, which	define
       their pos_types
	  to be	specializations	of std::fpos. The behavior of the I/O  streams
       library is
	  implementation-defined      when     Traits::pos_type	    is	   not
       std::fpos<std::mbstate_t> (aka
	  std::streampos, std::wstreampos, etc.).

	  Defect reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	    DR	     Applied	to		   Behavior    as    published
       Correct behavior
			     streampos	and  wstreampos	were contradictionally
       clarified to
	  LWG 57  C++98	     allowed to	be different while required to be  the
       be the same
			     same
	  P0759R1   C++98	 specification	 was  unclear  and  incomplete
       cleaned up
	  P1148R0  C++11       unclear	what   and   in	  which	  header   the
       made clear
			     definitions u16streampos and u32streampos are

See also
		    represents	relative  file/stream  position	 (offset  from
       fpos), sufficient to
	  streamoff represent any file size
		    (typedef)
	  tellp	    returns the	output position	indicator
		    (public	member	   function	of	std::basic_os-
       tream<CharT,Traits>)
	  seekp	    sets the output position indicator
		    (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  fgetpos   gets the file position indicator
		    (function)

http://cppreference.com		  2024.06.10			  std::fpos(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::fpos&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help