Skip to content

Commit 4b3f32a

Browse files
authored
[input.output] Add cross-references to header synopses (#7005)
Several of the synopses are not adjacent to the types they declare. Adding cross-references makes it easier to find the relevant definitions of classes and class templates. Also make the title of [ostream.manip] more specific to its content.
1 parent 2e455af commit 4b3f32a

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

source/iostreams.tex

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,11 +683,15 @@
683683
#include <iosfwd> // see \ref{iosfwd.syn}
684684

685685
namespace std {
686+
// \ref{stream.types}, types
686687
using streamoff = @\impdef@;
687688
using streamsize = @\impdef@;
689+
// \ref{ios}, class template \tcode{fpos}
688690
template<class stateT> class fpos;
689691

692+
// \ref{ios.base}, class \tcode{ios_base}
690693
class ios_base;
694+
// \ref{ios}, class template \tcode{basic_ios}
691695
template<class charT, class traits = char_traits<charT>>
692696
class basic_ios;
693697

@@ -2883,6 +2887,7 @@
28832887
\indexlibraryglobal{basic_streambuf<wchar_t>}%
28842888
\begin{codeblock}
28852889
namespace std {
2890+
// \ref{streambuf}, class template \tcode{basic_streambuf}
28862891
template<class charT, class traits = char_traits<charT>>
28872892
class basic_streambuf;
28882893
using streambuf = basic_streambuf<char>;
@@ -4147,21 +4152,25 @@
41474152
\indexheader{istream}%
41484153
\begin{codeblock}
41494154
namespace std {
4155+
// \ref{istream}, class template \tcode{basic_istream}
41504156
template<class charT, class traits = char_traits<charT>>
41514157
class basic_istream;
41524158

41534159
using istream = basic_istream<char>;
41544160
using wistream = basic_istream<wchar_t>;
41554161

4162+
// \ref{iostreamclass}, class template \tcode{basic_iostream}
41564163
template<class charT, class traits = char_traits<charT>>
41574164
class basic_iostream;
41584165

41594166
using iostream = basic_iostream<char>;
41604167
using wiostream = basic_iostream<wchar_t>;
41614168

4169+
// \ref{istream.manip}, standard \tcode{basic_istream} manipulators
41624170
template<class charT, class traits>
41634171
basic_istream<charT, traits>& ws(basic_istream<charT, traits>& is);
41644172

4173+
// \ref{istream.rvalue}, rvalue stream extraction
41654174
template<class Istream, class T>
41664175
Istream&& operator>>(Istream&& is, T&& x);
41674176
}
@@ -4177,12 +4186,14 @@
41774186
\indexheader{ostream}%
41784187
\begin{codeblock}
41794188
namespace std {
4189+
// \ref{ostream}, class template \tcode{basic_ostream}
41804190
template<class charT, class traits = char_traits<charT>>
41814191
class basic_ostream;
41824192

41834193
using ostream = basic_ostream<char>;
41844194
using wostream = basic_ostream<wchar_t>;
41854195

4196+
// \ref{ostream.manip}, standard \tcode{basic_ostream} manipulators
41864197
template<class charT, class traits>
41874198
basic_ostream<charT, traits>& endl(basic_ostream<charT, traits>& os);
41884199
template<class charT, class traits>
@@ -4197,6 +4208,7 @@
41974208
template<class charT, class traits>
41984209
basic_ostream<charT, traits>& flush_emit(basic_ostream<charT, traits>& os);
41994210

4211+
// \ref{ostream.rvalue}, rvalue stream insertion
42004212
template<class Ostream, class T>
42014213
Ostream&& operator<<(Ostream&& os, const T& x);
42024214

@@ -4222,17 +4234,21 @@
42224234
\indexheader{iomanip}%
42234235
\begin{codeblock}
42244236
namespace std {
4237+
// \ref{std.manip}, standard manipulators
42254238
@\unspec@ resetiosflags(ios_base::fmtflags mask);
42264239
@\unspec@ setiosflags (ios_base::fmtflags mask);
42274240
@\unspec@ setbase(int base);
42284241
template<class charT> @\unspec@ setfill(charT c);
42294242
@\unspec@ setprecision(int n);
42304243
@\unspec@ setw(int n);
4244+
4245+
// \ref{ext.manip}, extended manipulators
42314246
template<class moneyT> @\unspec@ get_money(moneyT& mon, bool intl = false);
42324247
template<class moneyT> @\unspec@ put_money(const moneyT& mon, bool intl = false);
42334248
template<class charT> @\unspec@ get_time(tm* tmb, const charT* fmt);
42344249
template<class charT> @\unspec@ put_time(const tm* tmb, const charT* fmt);
42354250

4251+
// \ref{quoted.manip}, quoted manipulators
42364252
template<class charT>
42374253
@\unspec@ quoted(const charT* s, charT delim = charT('"'), charT escape = charT('\\'));
42384254

@@ -7015,7 +7031,7 @@
70157031
\tcode{*this}.
70167032
\end{itemdescr}
70177033

7018-
\rSec3[ostream.manip]{Standard manipulators}
7034+
\rSec3[ostream.manip]{Standard \tcode{basic_ostream} manipulators}
70197035

70207036
\pnum
70217037
Each instantiation of any of the function templates
@@ -7956,6 +7972,7 @@
79567972
\indexlibraryglobal{basic_stringstream<wchar_t>}%
79577973
\begin{codeblock}
79587974
namespace std {
7975+
// \ref{stringbuf}, class template \tcode{basic_stringbuf}
79597976
template<class charT, class traits = char_traits<charT>,
79607977
class Allocator = allocator<charT>>
79617978
class basic_stringbuf;
@@ -7967,6 +7984,7 @@
79677984
using stringbuf = basic_stringbuf<char>;
79687985
using wstringbuf = basic_stringbuf<wchar_t>;
79697986

7987+
// \ref{istringstream}, class template \tcode{basic_istringstream}
79707988
template<class charT, class traits = char_traits<charT>,
79717989
class Allocator = allocator<charT>>
79727990
class basic_istringstream;
@@ -7978,6 +7996,7 @@
79787996
using istringstream = basic_istringstream<char>;
79797997
using wistringstream = basic_istringstream<wchar_t>;
79807998

7999+
// \ref{ostringstream}, class template \tcode{basic_ostringstream}
79818000
template<class charT, class traits = char_traits<charT>,
79828001
class Allocator = allocator<charT>>
79838002
class basic_ostringstream;
@@ -7989,6 +8008,7 @@
79898008
using ostringstream = basic_ostringstream<char>;
79908009
using wostringstream = basic_ostringstream<wchar_t>;
79918010

8011+
// \ref{stringstream}, class template \tcode{basic_stringstream}
79928012
template<class charT, class traits = char_traits<charT>,
79938013
class Allocator = allocator<charT>>
79948014
class basic_stringstream;
@@ -10022,6 +10042,7 @@
1002210042
\indexlibraryglobal{wspanstream}%
1002310043
\begin{codeblock}
1002410044
namespace std {
10045+
// \ref{spanbuf}, class template \tcode{basic_spanbuf}
1002510046
template<class charT, class traits = char_traits<charT>>
1002610047
class basic_spanbuf;
1002710048

@@ -10031,6 +10052,7 @@
1003110052
using spanbuf = basic_spanbuf<char>;
1003210053
using wspanbuf = basic_spanbuf<wchar_t>;
1003310054

10055+
// \ref{ispanstream}, class template \tcode{basic_ispanstream}
1003410056
template<class charT, class traits = char_traits<charT>>
1003510057
class basic_ispanstream;
1003610058

@@ -10040,6 +10062,7 @@
1004010062
using ispanstream = basic_ispanstream<char>;
1004110063
using wispanstream = basic_ispanstream<wchar_t>;
1004210064

10065+
// \ref{ospanstream}, class template \tcode{basic_ospanstream}
1004310066
template<class charT, class traits = char_traits<charT>>
1004410067
class basic_ospanstream;
1004510068

@@ -10049,6 +10072,7 @@
1004910072
using ospanstream = basic_ospanstream<char>;
1005010073
using wospanstream = basic_ospanstream<wchar_t>;
1005110074

10075+
// \ref{spanstream}, class template \tcode{basic_spanstream}
1005210076
template<class charT, class traits = char_traits<charT>>
1005310077
class basic_spanstream;
1005410078

@@ -10876,6 +10900,7 @@
1087610900
\indexlibraryglobal{basic_fstream<wchar_t>}%
1087710901
\begin{codeblock}
1087810902
namespace std {
10903+
// \ref{filebuf}, class template \tcode{basic_filebuf}
1087910904
template<class charT, class traits = char_traits<charT>>
1088010905
class basic_filebuf;
1088110906

@@ -10885,6 +10910,7 @@
1088510910
using filebuf = basic_filebuf<char>;
1088610911
using wfilebuf = basic_filebuf<wchar_t>;
1088710912

10913+
// \ref{ifstream}, class template \tcode{basic_ifstream}
1088810914
template<class charT, class traits = char_traits<charT>>
1088910915
class basic_ifstream;
1089010916

@@ -10894,6 +10920,7 @@
1089410920
using ifstream = basic_ifstream<char>;
1089510921
using wifstream = basic_ifstream<wchar_t>;
1089610922

10923+
// \ref{ofstream}, class template \tcode{basic_ofstream}
1089710924
template<class charT, class traits = char_traits<charT>>
1089810925
class basic_ofstream;
1089910926

@@ -10903,6 +10930,7 @@
1090310930
using ofstream = basic_ofstream<char>;
1090410931
using wofstream = basic_ofstream<wchar_t>;
1090510932

10933+
// \ref{fstream}, class template \tcode{basic_fstream}
1090610934
template<class charT, class traits = char_traits<charT>>
1090710935
class basic_fstream;
1090810936

@@ -12561,6 +12589,7 @@
1256112589
#include <ostream> // see \ref{ostream.syn}
1256212590

1256312591
namespace std {
12592+
// \ref{syncstream.syncbuf}, class template \tcode{basic_syncbuf}
1256412593
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT>>
1256512594
class basic_syncbuf;
1256612595

@@ -12572,6 +12601,7 @@
1257212601
using syncbuf = basic_syncbuf<char>;
1257312602
using wsyncbuf = basic_syncbuf<wchar_t>;
1257412603

12604+
// \ref{syncstream.osyncstream}, class template \tcode{basic_osyncstream}
1257512605
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT>>
1257612606
class basic_osyncstream;
1257712607

0 commit comments

Comments
 (0)