- 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
を使用して入力のパース・数値への変換を行う。実引数を渡すに際し、一部の型では以下のように型変換を行う。short
flags()
にhex
またはoct
が設定されていればstatic_cast<long>(static_cast<unsigned short>(n))
- それ以外では
static_cast<long>(n)
int
flags()
に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
に関するもの
- 出力対象の型