STD::BASIC_ISTREAM_SENTRY(3cxx)

✨ NAME ✨

okay so bestie, this is the 3cxx manual page for std::basic_istream< _CharT, _Traits >::sentry β€” the lil setup gremlin that gets input streams ready before the standard extractors do their thing. It performs setup work for input streams. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <istream>

πŸ’œ Public Types πŸ’œ

  • typedef __istream_type::__ctype_type __ctype_type
  • typedef _Traits::int_type __int_type
  • typedef basic_istream< _CharT, _Traits > __istream_type
  • typedef basic_streambuf< _CharT, _Traits > __streambuf_type
  • typedef _Traits traits_type β€” easy access to dependent types. 🫢

🌸 Public Member Functions 🌸

  • sentry (basic_istream< _CharT, _Traits > &__is, bool __noskipws=false) β€” the constructor performs all the work. no cap.
  • operator bool () const β€” quick status checking. πŸ‘€

πŸ¦‹ Detailed Description πŸ¦‹

template<typename _CharT, typename _Traits>
class std::basic_istream< _CharT, _Traits >::sentry

β€œPerforms setup work for input streams.” ✨

Objects of this class are created before all of the standard extractors are run. It is responsible for exception-safe prefix and suffix operations, although only prefix actions are currently required by the standard. lowkey iconic. πŸ‘‘


🌈 Member Typedef Documentation 🌈

template<typename _CharT , typename _Traits > typedef _Traits std::basic_istream< _CharT, _Traits >::sentry::traits_type

Easy access to dependent types. periodt. πŸ’œ


πŸ”₯ Constructor & Destructor Documentation πŸ”₯

template<typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits >::sentry::sentry (basic_istream< _CharT, _Traits > & __is, bool __noskipws = false) [explicit]

The constructor performs all the work. she’s the main character of setup. πŸ’…

πŸ’¬ Parameters πŸ’¬

  • __is β€” The input stream to guard.
  • __noskipws β€” Whether to consume whitespace or not.

If the stream state is good (__is.good() is true), then the following actions are performed, otherwise the sentry state is false (not okay) and failbit is set in the stream state. vibe check failed, bestie. 😭

The sentry’s preparatory actions are:

  1. if the stream is tied to an output stream, is.tie()->flush() is called to synchronize the output sequence
  2. if __noskipws is false, and ios_base::skipws is set in is.flags(), the sentry extracts and discards whitespace characters from the stream. The currently imbued locale is used to determine whether each character is whitespace.

If the stream state is still good, then the sentry state becomes true (okay). slay. βœ…

References std::ios_base::badbit, std::ios_base::eofbit, std::ios_base::failbit, std::ios_base::flags(), std::basic_ios< _CharT, _Traits >::good(), std::ios_base::goodbit, std::basic_ios< _CharT, _Traits >::rdbuf(), std::basic_ios< _CharT, _Traits >::setstate(), std::ios_base::skipws, and std::basic_ios< _CharT, _Traits >::tie().


⭐ Member Function Documentation ⭐

template<typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits >::sentry::operator bool () const [inline], [explicit]

Quick status checking. πŸ•΅οΈβ€β™€οΈ

🎁 Returns 🎁

The sentry state.

For ease of use, sentries may be converted to booleans. The return value is that of the sentry state (true == okay). iykyk. 🌿


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for libstdc++ from the source code. not me being auto-generated and still serving. πŸ’œ


xoxo, your 3cxx bestie πŸ’– β€” source/version: libstdc++; footer date: the one stamped on your copy, periodt. 🫢

πŸ“¦ where this page comes from