GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::basic_ostream::sentry(3) C++ Standard Libary std::basic_ostream::sentry(3)

std::basic_ostream::sentry - std::basic_ostream::sentry


class sentry;


An object of class basic_ostream::sentry is constructed in local scope at the
beginning of each member function of std::basic_ostream that performs output (both
formatted and unformatted). Its constructor prepares the output stream: checks if
the stream is already in a failed state, flushes the tie()'d output streams, and
performs other implementation-defined tasks if necessary. Implementation-defined
cleanup, as well as flushing of the output stream if necessary, is performed in the
destructor, so that it is guaranteed to happen if exceptions are thrown during
output.


constructor constructs the sentry object. All the preparation tasks are done here
(public member function)
finalizes the stream object after formatted output or after exception,
destructor if necessary
(public member function)
operator= the assignment operator is deleted
(public member function)
operator bool checks if the preparation of the stream object was successful
(public member function)

std::basic_ostream::sentry::sentry


explicit sentry( std::basic_ostream<CharT,Traits>& os );


Prepares the stream for formatted output.


If os.good() is false, returns. Otherwise, if os.tie() is not a null pointer, calls
os.tie()->flush() to synchronize the output sequence with external streams. During
preparation, the constructor may call setstate(failbit) (which may throw
std::ios_base::failure).


If after preparation is completed, os.good() == true, then any subsequent calls to
operator bool will return true.


os - output stream to prepare


std::ios_base::failure if the end of file condition occurs.

std::basic_ostream::sentry::~sentry


~sentry();


If (os.flags() & std::ios_base::unitbuf) && !std::uncaught_exception() && os.good())
is true, calls os.rdbuf()->pubsync(). If that function returns -1, sets badbit in
os.rdstate() without propagating an exception.

std::basic_ostream::sentry::operator bool


explicit operator bool() const;


Checks whether the preparation of the output stream was successful.


(none)


true if the preparation of the output stream was successful, false otherwise.

// Run this code


#include <iostream>
#include <sstream>


struct Foo
{
char n[6];
};


std::ostream& operator<<(std::ostream& os, Foo& f)
{
std::ostream::sentry s(os);
if (s) {
os.write(f.n, 5);
}
return os;
}


int main()
{
Foo f = { "abcde" };
std::cout << f << '\n';
}


abcde


operator<< inserts formatted data
(public member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.