- ostream[meta header]
- std[meta namespace]
- basic_ostream[meta class]
- function[meta id-type]
// マニピュレータの実行
// 3つとも関数へのポインタを引数に取る。
basic_ostream<CharT, Traits>& operator<<(basic_ostream<CharT, Traits>& (*pf)(basic_ostream<CharT, Traits>&));
basic_ostream<CharT, Traits>& operator<<(basic_ios<CharT, Traits>& (*pf)(basic_ios<CharT, Traits>&));
basic_ostream<CharT, Traits>& operator<<(ios_base& (*pf)(ios_base&));
// bool値・数値・ポインタの書式化出力
basic_ostream<CharT, Traits>& operator<<(bool n);
basic_ostream<CharT, Traits>& operator<<(short n);
basic_ostream<CharT, Traits>& operator<<(unsigned short n);
basic_ostream<CharT, Traits>& operator<<(int n);
basic_ostream<CharT, Traits>& operator<<(unsigned int n);
basic_ostream<CharT, Traits>& operator<<(long n);
basic_ostream<CharT, Traits>& operator<<(unsigned long n);
basic_ostream<CharT, Traits>& operator<<(long long n); // C++11
basic_ostream<CharT, Traits>& operator<<(unsigned long long n); // C++11
basic_ostream<CharT, Traits>& operator<<(float f);
basic_ostream<CharT, Traits>& operator<<(double f);
basic_ostream<CharT, Traits>& operator<<(long double f);
basic_ostream<CharT, Traits>& operator<<(const void* p);
basic_ostream<charT, traits>& operator<<(nullptr_t); // C++17
// ストリームバッファの非書式化出力
basic_ostream<CharT, Traits>& operator<<(basic_streambuf<CharT, Traits>* sb);- nullptr_t[link /reference/cstddef/nullptr_t.md]
ストリームへの出力またはマニピュレータの実行を行う。
- マニピュレータを実行するオーバーロードそれ自体は、書式化出力関数・非書式化出力関数いずれにも該当しない。
- 数値型(
boolも含む)とポインタに対するオーバーロードは、書式化出力関数である。 basic_streambufに対するオーバーロードは、非書式化出力関数である。
pf(*this)を呼び出す。
sentryオブジェクトを構築する。sentryオブジェクトが失敗を示した場合、何もしない。num_put::putを使用して入力のパース・数値への変換を行う。実引数を渡すに際し、一部の型では以下のように型変換を行う。shortflags()にhexまたはoctが設定されていればstatic_cast<long>(static_cast<unsigned short>(n))- それ以外では
static_cast<long>(n)
intflags()にhexまたはoctが設定されていればstatic_cast<long>(static_cast<unsigned int>(n))- それ以外では
static_cast<long>(n)
unsigned short、unsigned int:static_cast<unsigned long>(n)float:static_cast<double>(n)
num_put::putから得られたiostate値を実引数にしてsetstate関数を呼び出す。
- C++17 : 実装定義の出力文字列
sを、return operator<<(s)として渡した場合と等価である。
別のストリームバッファからの入力をストリームに出力する。
sentryオブジェクトを構築する。sentryオブジェクトが失敗を示した場合、何もしない。- 仮引数
sbがヌルポインタの場合、setstate(badbit)を呼び出して終了する。 - 以下のいずれかを満たすまで、
sbから文字を入力してthisへ出力する。- EOFに達した。
- 出力処理に失敗した(この場合、失敗したときの文字は入力側のストリームバッファに戻される)。
- 例外が発生した。
入力がなされなかった場合、setstate(failbit)を呼び出す。
*this
- このクラスにはメンバ関数版の
operator<<と非メンバ関数版のoperator<<があるが、ロケールに依存して出力が変わる型へのオーバーロードが、メンバ関数版として定義される設計となっている。
#include <iostream>
int main() {
std::cout << 101 << std::endl;
}101
TBD
- C++98
- C++11:
long long、unsigned long longを実引数として受け取るものが追加された
- このほかの
<<演算子関数- 文字・文字列の書式化出力、および、右辺値ストリームに対する出力
std::sub_matchに関するものstd::error_codeに関するものstd::complexに関するものstd::bitsetに関するものstd::basic_stringに関するものstd::shared_ptrに関するものstd::shuffle_order_engineに関するものstd::gamma_distributionに関するものstd::geometric_distributionに関するものstd::extreme_value_distributionに関するものstd::fisher_f_distributionに関するものstd::mersenne_twister_engineに関するものstd::chi_squared_distributionに関するものstd::exponential_distributionに関するものstd::discrete_distributionに関するものstd::subtract_with_carry_engineに関するものstd::piecewise_constant_distributionに関するものstd::poisson_distributionに関するものstd::student_t_distributionに関するものstd::bernoulli_distributionに関するものstd::weibull_distributionに関するものstd::binomial_distributionに関するものstd::piecewise_linear_distributionに関するものstd::uniform_real_distributionに関するものstd::negative_binomial_distributionに関するものstd::discard_block_engineに関するものstd::normal_distributionに関するものstd::cauchy_distributionに関するものstd::lognormal_distributionに関するものstd::linear_congruential_engineに関するものstd::uniform_int_distributionに関するものstd::independent_bits_engineに関するもの
- 出力対象の型