of は何__cerb
を意味するのだろうと思っていたところ、公式の C++ 標準ドキュメントに記載されているように、これは の短縮名のようです。libstdc++
g++
cerberos
§ 22.3.1 / 3:
[例: iostreamは次の
operator<<
ように実装できます。template <class charT, class traits> basic_ostream<charT,traits>& operator<< (basic_ostream<charT,traits>& s, Date d) { // !!!!!!!!!! typename basic_ostream<charT,traits>::sentry cerberos(s); // <--- !! HERE !! // !!!!!!!!!! if (cerberos) { ios_base::iostate err = ios_base::iostate::goodbit; tm tmbuf; d.extract(tmbuf); use_facet<time_put<charT,ostreambuf_iterator<charT,traits> > >( s.getloc()).put(s, s, s.fill(), err, &tmbuf, ’x’); s.setstate(err); // might throw } return s; }
— 終了例 ]
iostreamsentry
オブジェクトが と呼ばれる理由とcerberos
、cerberos
実際の意味は何ですか?