std::istrstream(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

std::istrstream(3) πŸ’…

okay so bestie, this is the std::istrstream(3) page from the C++ Standard Libary manual β€” yes, that’s the spelling up top, we’re not fixing it, it’s iconic β€” and the name is literally just std::istrstream. no cap.

🌸 NAME 🌸

std::istrstream β€” std::istrstream. that’s it. that’s the name. slay.

✨ Synopsis ✨

Defined in header <strstream>:

class istrstream : public std::istream  (deprecated in C++98)
                                        (removed in C++26)

The class istrstream implements input operations on array-backed streams. It essentially wraps a raw array I/O device implementation (std::strstreambuf) into the higher-level interface of std::basic_istream.

The typical implementation of istrstream holds only one non-derived data member: an object of type std::strstreambuf.

πŸ’… Notes πŸ’…

istrstream has been deprecated since C++98 and removed since C++26.

std::istringstream, std::ispanstream (since C++23), and boost::iostreams::array_source are the recommended replacements.

🫢 Member functions 🫢

  • constructor β€” constructs an istrstream object, optionally allocating the buffer (public member function)
  • destructor β€” destructs an istrstream object, optionally deallocating the buffer
  • [virtual] β€” (virtual public member function)
  • rdbuf β€” obtains a pointer to the associated strstreambuf (public member function)
  • str β€” accesses the output buffer (public member function)

πŸ¦‹ Inherited from std::basic_istream πŸ¦‹

✨ Member functions ✨

Formatted input

  • operator>> β€” extracts formatted data (public member function of std::basic_istream<CharT,Traits>)

Unformatted input

  • get β€” extracts characters (public member function of std::basic_istream<CharT,Traits>)
  • peek β€” reads the next character without extracting it (public member function of std::basic_istream<CharT,Traits>)
  • unget β€” unextracts a character (public member function of std::basic_istream<CharT,Traits>)
  • putback β€” puts a character into input stream (public member function of std::basic_istream<CharT,Traits>)
  • getline β€” extracts characters until the given character is found (public member function of std::basic_istream<CharT,Traits>)
  • ignore β€” extracts and discards characters until the given character is found (public member function of std::basic_istream<CharT,Traits>)
  • read β€” extracts blocks of characters (public member function of std::basic_istream<CharT,Traits>)
  • readsome β€” extracts already available blocks of characters (public member function of std::basic_istream<CharT,Traits>)
  • gcount β€” returns number of characters extracted by last unformatted input operation (public member function of std::basic_istream<CharT,Traits>)

Positioning

  • tellg β€” returns the input position indicator (public member function of std::basic_istream<CharT,Traits>)
  • seekg β€” sets the input position indicator (public member function of std::basic_istream<CharT,Traits>)

Miscellaneous

  • sync β€” synchronizes with the underlying storage device (public member function of std::basic_istream<CharT,Traits>)

πŸŽ€ Member classes πŸŽ€

  • sentry β€” implements basic logic for preparation of the stream for input operations (public member class of std::basic_istream<CharT,Traits>)

🌈 Inherited from std::basic_ios 🌈

πŸ’– Member types πŸ’–

  • char_type β€” CharT
  • traits_type β€” Traits
  • int_type β€” Traits::int_type
  • pos_type β€” Traits::pos_type
  • off_type β€” Traits::off_type

πŸ’œ Member functions πŸ’œ

State functions

  • good β€” checks if no error has occurred i.e. I/O operations are available (public member function of std::basic_ios<CharT,Traits>)
  • eof β€” checks if end-of-file has been reached (public member function of std::basic_ios<CharT,Traits>)
  • fail β€” checks if an error has occurred (public member function of std::basic_ios<CharT,Traits>)
  • bad β€” checks if a non-recoverable error has occurred (public member function of std::basic_ios<CharT,Traits>)
  • operator! β€” checks if an error has occurred (synonym of fail()) (public member function of std::basic_ios<CharT,Traits>)
  • operator bool β€” checks if no error has occurred (synonym of !fail()) (public member function of std::basic_ios<CharT,Traits>)
  • rdstate β€” returns state flags (public member function of std::basic_ios<CharT,Traits>)
  • setstate β€” sets state flags (public member function of std::basic_ios<CharT,Traits>)
  • clear β€” modifies state flags (public member function of std::basic_ios<CharT,Traits>)

Formatting

  • copyfmt β€” copies formatting information (public member function of std::basic_ios<CharT,Traits>)
  • fill β€” manages the fill character (public member function of std::basic_ios<CharT,Traits>)

Miscellaneous

  • exceptions β€” manages exception mask (public member function of std::basic_ios<CharT,Traits>)
  • imbue β€” sets the locale (public member function of std::basic_ios<CharT,Traits>)
  • rdbuf β€” manages associated stream buffer (public member function of std::basic_ios<CharT,Traits>)
  • tie β€” manages tied stream (public member function of std::basic_ios<CharT,Traits>)
  • narrow β€” narrows characters (public member function of std::basic_ios<CharT,Traits>)
  • widen β€” widens characters (public member function of std::basic_ios<CharT,Traits>)

🌟 Inherited from std::ios_base 🌟

🧚 Member functions 🧚

Formatting

  • flags β€” manages format flags (public member function of std::ios_base)
  • setf β€” sets specific format flag (public member function of std::ios_base)
  • unsetf β€” clears specific format flag (public member function of std::ios_base)
  • precision β€” manages decimal precision of floating point operations (public member function of std::ios_base)
  • width β€” manages field width (public member function of std::ios_base)

Locales

  • imbue β€” sets locale (public member function of std::ios_base)
  • getloc β€” returns current locale (public member function of std::ios_base)

Internal extensible array

  • xalloc [static] β€” returns a program-wide unique integer that is safe to use as index to pword() and iword() (public static member function of std::ios_base)
  • iword β€” resizes the private storage if necessary and access to the long element at the given index (public member function of std::ios_base)
  • pword β€” resizes the private storage if necessary and access to the void* element at the given index (public member function of std::ios_base)

Miscellaneous

  • register_callback β€” registers event callback function (public member function of std::ios_base)
  • sync_with_stdio [static] β€” sets whether C++ and C I/O libraries are interoperable (public static member function of std::ios_base)

πŸ‘‘ Member classes πŸ‘‘

  • failure β€” stream exception (public member class of std::ios_base)
  • Init β€” initializes standard stream objects (public member class of std::ios_base)

okay so here’s the member-types-and-constants part, bestie β€” it’s giving β€œkeep this tab open forever” energy, and honestly same πŸ’–

  • openmode β€” stream open mode type (typedef). The following constants are also defined:
    • app β€” seek to the end of stream before each write
    • binary β€” open in binary mode
    • in β€” open for reading
    • out β€” open for writing
    • trunc β€” discard the contents of the stream when opening
    • ate β€” seek to the end of stream immediately after open
    • noreplace (C++23) β€” open in exclusive mode
  • fmtflags β€” formatting flags type (typedef). The following constants are also defined:
    • dec β€” use decimal base for integer I/O: see std::dec
    • oct β€” use octal base for integer I/O: see std::oct
    • hex β€” use hexadecimal base for integer I/O: see std::hex
    • basefield β€” dec | oct | hex. Useful for masking operations
    • left β€” left adjustment (adds fill characters to the right): see std::left
    • right β€” right adjustment (adds fill characters to the left): see std::right
    • internal β€” internal adjustment (adds fill characters to the internal designated point): see std::internal
    • adjustfield β€” left | right | internal. Useful for masking operations
    • scientific β€” generate floating point types using scientific notation, or hex notation if combined with fixed: see std::scientific
    • fixed β€” generate floating point types using fixed notation, or hex notation if combined with scientific: see std::fixed
    • floatfield β€” scientific | fixed. Useful for masking operations
    • boolalpha β€” insert and extract bool type in alphanumeric format: see std::boolalpha
    • showbase β€” generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: see std::showbase
    • showpoint β€” generate a decimal-point character unconditionally for floating-point number output: see std::showpoint
    • showpos β€” generate a + character for non-negative numeric output: see std::showpos
    • skipws β€” skip leading whitespace before certain input operations: see std::skipws
    • unitbuf β€” flush the output after each output operation: see std::unitbuf
    • uppercase β€” replace certain lowercase letters with their uppercase equivalents in certain output operations: see std::uppercase
  • iostate β€” state of the stream type (typedef). The following constants are also defined:
    • goodbit β€” no error
    • badbit β€” irrecoverable stream error
    • failbit β€” input/output operation failed (formatting or extraction error)
    • eofbit β€” associated input sequence has reached end-of-file
  • seekdir β€” seeking direction type (typedef). The following constants are also defined:
    • beg β€” the beginning of a stream
    • end β€” the ending of a stream
    • cur β€” the current position of stream position indicator
  • event β€” specifies event type (enum)
  • event_callback β€” callback function type (typedef)

okay that’s the whole reference-table moment, bestie β€” you ate, no crumbs πŸ’…βœ¨ The footer energy is cppreference.com, version/date 2024.06.10, for std::istrstream(3) β€” mwah, go slay some streams πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from