Skip to content

Commit 20fa26d

Browse files
jensmaurertkoeppe
authored andcommitted
[depr,input.output,future.syn] Improve indexing of enumerations
1 parent a470ff8 commit 20fa26d

File tree

3 files changed

+73
-76
lines changed

3 files changed

+73
-76
lines changed

source/future.tex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -187,13 +187,12 @@
187187
\pnum
188188
The following type is defined
189189
in addition to those specified in \libheaderref{limits}:
190-
\indexlibraryglobal{float_denorm_style}%
191190
\begin{codeblock}
192191
namespace std {
193-
enum float_denorm_style {
194-
denorm_indeterminate = -1,
195-
denorm_absent = 0,
196-
denorm_present = 1
192+
enum @\libglobal{float_denorm_style}@ {
193+
@\libmember{denorm_indeterminate}{float_denorm_style}@ = -1,
194+
@\libmember{denorm_absent}{float_denorm_style}@ = 0,
195+
@\libmember{denorm_present}{float_denorm_style}@ = 1
197196
};
198197
}
199198
\end{codeblock}
@@ -268,10 +267,10 @@
268267
in addition to those specified in \ref{system.error.syn}:
269268

270269
\begin{codeblock}
271-
no_message_available, // \tcode{ENODATA}
272-
no_stream_resources, // \tcode{ENOSR}
273-
not_a_stream, // \tcode{ENOSTR}
274-
stream_timeout, // \tcode{ETIME}
270+
@\libmember{no_message_available}{errc}@, // \tcode{ENODATA}
271+
@\libmember{no_stream_resources}{errc}@, // \tcode{ENOSR}
272+
@\libmember{not_a_stream}{errc}@, // \tcode{ENOSTR}
273+
@\libmember{stream_timeout}{errc}@, // \tcode{ETIME}
275274
\end{codeblock}
276275

277276
\pnum

source/iostreams.tex

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -734,8 +734,8 @@
734734
ios_base& defaultfloat(ios_base& str);
735735

736736
// \ref{error.reporting}, error reporting
737-
enum class io_errc {
738-
stream = 1
737+
enum class @\libglobal{io_errc}@ {
738+
@\libmember{stream}{io_errc}@ = 1
739739
};
740740

741741
template<> struct is_error_code_enum<io_errc> : public true_type { };
@@ -831,7 +831,7 @@
831831
virtual ~ios_base();
832832

833833
// \ref{ios.base.callback}, callbacks
834-
enum event { erase_event, imbue_event, copyfmt_event };
834+
enum @\libmember{event}{ios_base}@ { erase_event, imbue_event, copyfmt_event };
835835
using event_callback = void (*)(event, ios_base&, int idx);
836836
void register_callback(event_callback fn, int idx);
837837

@@ -15696,24 +15696,24 @@
1569615696
\lhdr{Constant} &
1569715697
\rhdr{Meaning} \\ \capsep
1569815698

15699-
\tcode{none} &
15699+
\tcode{\libmember{none}{file_type}} &
1570015700
The type of the file has not been determined or an error occurred while
1570115701
trying to determine the type. \\ \rowsep
15702-
\tcode{not_found} &
15702+
\tcode{\libmember{not_found}{file_type}} &
1570315703
Pseudo-type indicating the file was not found.
1570415704
\begin{tailnote}
1570515705
The file
1570615706
not being found is not considered an error while determining the
1570715707
type of a file.
1570815708
\end{tailnote}
1570915709
\\ \rowsep
15710-
\tcode{regular} & Regular file \\ \rowsep
15711-
\tcode{directory} & Directory file \\ \rowsep
15712-
\tcode{symlink} & Symbolic link file \\ \rowsep
15713-
\tcode{block} & Block special file \\ \rowsep
15714-
\tcode{character} & Character special file \\ \rowsep
15715-
\tcode{fifo} & FIFO or pipe file \\ \rowsep
15716-
\tcode{socket} & Socket file \\ \rowsep
15710+
\tcode{\libmember{regular}{file_type}} & Regular file \\ \rowsep
15711+
\tcode{\libmember{directory}{file_type}} & Directory file \\ \rowsep
15712+
\tcode{\libmember{symlink}{file_type}} & Symbolic link file \\ \rowsep
15713+
\tcode{\libmember{block}{file_type}} & Block special file \\ \rowsep
15714+
\tcode{\libmember{character}{file_type}} & Character special file \\ \rowsep
15715+
\tcode{\libmember{fifo}{file_type}} & FIFO or pipe file \\ \rowsep
15716+
\tcode{\libmember{socket}{file_type}} & Socket file \\ \rowsep
1571715717
\tcode{\textit{\impldef{additional \tcode{file_type} enumerators
1571815718
for file systems supporting additional types of file}}} &
1571915719
Implementations that support file systems having file types
@@ -15723,7 +15723,7 @@
1572315723
for file systems supporting additional types of file}
1572415724
\tcode{file_type} constants
1572515725
to separately identify each of those additional file types \\ \rowsep
15726-
\tcode{unknown} &
15726+
\tcode{\libmember{unknown}{file_type}} &
1572715727
The file exists but the type cannot be determined \\
1572815728
\end{floattable}
1572915729

@@ -15745,42 +15745,42 @@
1574515745
\topline
1574615746
\ohdrx{2}{Option group controlling \tcode{copy_file} function effects for existing target files} \\ \rowsep
1574715747
\lhdr{Constant} & \rhdr{Meaning} \\ \capsep
15748-
\tcode{none} &
15748+
\tcode{\libmember{none}{copy_options}} &
1574915749
(Default) Error; file already exists. \\ \rowsep
15750-
\tcode{skip_existing} &
15750+
\tcode{\libmember{skip_existing}{copy_options}} &
1575115751
Do not overwrite existing file, do not report an error. \\ \rowsep
15752-
\tcode{overwrite_existing} &
15752+
\tcode{\libmember{overwrite_existing}{copy_options}} &
1575315753
Overwrite the existing file. \\ \rowsep
15754-
\tcode{update_existing} &
15754+
\tcode{\libmember{update_existing}{copy_options}} &
1575515755
Overwrite the existing file if it is older than the replacement file. \\ \capsep
1575615756

1575715757
\ohdrx{2}{Option group controlling \tcode{copy} function effects for subdirectories} \\ \rowsep
1575815758
\lhdr{Constant} & \rhdr{Meaning} \\ \capsep
15759-
\tcode{none} &
15759+
\tcode{\libmember{none}{copy_options}} &
1576015760
(Default) Do not copy subdirectories. \\ \rowsep
15761-
\tcode{recursive} &
15761+
\tcode{\libmember{recursive}{copy_options}} &
1576215762
Recursively copy subdirectories and their contents. \\ \capsep
1576315763

1576415764
\ohdrx{2}{Option group controlling \tcode{copy} function effects for symbolic links} \\ \rowsep
1576515765
\lhdr{Constant} & \rhdr{Meaning} \\ \capsep
15766-
\tcode{none} &
15766+
\tcode{\libmember{none}{copy_options}} &
1576715767
(Default) Follow symbolic links. \\ \rowsep
15768-
\tcode{copy_symlinks} &
15768+
\tcode{\libmember{copy_symlinks}{copy_options}} &
1576915769
Copy symbolic links as symbolic links rather than copying the files that
1577015770
they point to. \\ \rowsep
15771-
\tcode{skip_symlinks} &
15771+
\tcode{\libmember{skip_symlinks}{copy_options}} &
1577215772
Ignore symbolic links. \\ \capsep
1577315773

1577415774
\ohdrx{2}{Option group controlling \tcode{copy} function effects for choosing the form of copying} \\ \rowsep
1577515775
\lhdr{Constant} & \rhdr{Meaning} \\ \capsep
15776-
\tcode{none} &
15776+
\tcode{\libmember{none}{copy_options}} &
1577715777
(Default) Copy content. \\ \rowsep
15778-
\tcode{directories_only} &
15778+
\tcode{\libmember{directories_only}{copy_options}} &
1577915779
Copy directory structure only, do not copy non-directory files. \\ \rowsep
15780-
\tcode{create_symlinks} &
15780+
\tcode{\libmember{create_symlinks}{copy_options}} &
1578115781
Make symbolic links instead of copies of files. The source path shall be
1578215782
an absolute path unless the destination path is in the current directory. \\ \rowsep
15783-
\tcode{create_hard_links} &
15783+
\tcode{\libmember{create_hard_links}{copy_options}} &
1578415784
Make hard links instead of copies of files. \\
1578515785
\end{floattable}
1578615786

@@ -15799,46 +15799,46 @@
1579915799
\lhdr{Name} & \chdr{Value} & \chdr{POSIX} & \rhdr{Definition or notes} \\
1580015800
& \chdr{(octal)} & \chdr{macro} & \\ \capsep
1580115801

15802-
\tcode{none} & \tcode{0} & &
15802+
\tcode{\libmember{none}{perms}} & \tcode{0} & &
1580315803
There are no permissions set for the file. \\ \rowsep
15804-
\tcode{owner_read} & \tcode{0400} & \tcode{S_IRUSR} &
15804+
\tcode{\libmember{owner_read}{perms}} & \tcode{0400} & \tcode{S_IRUSR} &
1580515805
Read permission, owner \\ \rowsep
15806-
\tcode{owner_write} & \tcode{0200} & \tcode{S_IWUSR} &
15806+
\tcode{\libmember{owner_write}{perms}} & \tcode{0200} & \tcode{S_IWUSR} &
1580715807
Write permission, owner \\ \rowsep
15808-
\tcode{owner_exec} & \tcode{0100} & \tcode{S_IXUSR} &
15808+
\tcode{\libmember{owner_exec}{perms}} & \tcode{0100} & \tcode{S_IXUSR} &
1580915809
Execute/search permission, owner \\ \rowsep
15810-
\tcode{owner_all} & \tcode{0700} & \tcode{S_IRWXU} &
15810+
\tcode{\libmember{owner_all}{perms}} & \tcode{0700} & \tcode{S_IRWXU} &
1581115811
Read, write, execute/search by owner;\br
1581215812
\tcode{owner_read | owner_write | owner_exec} \\ \rowsep
15813-
\tcode{group_read} & \tcode{040} & \tcode{S_IRGRP} &
15813+
\tcode{\libmember{group_read}{perms}} & \tcode{040} & \tcode{S_IRGRP} &
1581415814
Read permission, group \\ \rowsep
15815-
\tcode{group_write} & \tcode{020} & \tcode{S_IWGRP} &
15815+
\tcode{\libmember{group_write}{perms}} & \tcode{020} & \tcode{S_IWGRP} &
1581615816
Write permission, group \\ \rowsep
15817-
\tcode{group_exec} & \tcode{010} & \tcode{S_IXGRP} &
15817+
\tcode{\libmember{group_exec}{perms}} & \tcode{010} & \tcode{S_IXGRP} &
1581815818
Execute/search permission, group \\ \rowsep
15819-
\tcode{group_all} & \tcode{070} & \tcode{S_IRWXG} &
15819+
\tcode{\libmember{group_all}{perms}} & \tcode{070} & \tcode{S_IRWXG} &
1582015820
Read, write, execute/search by group;\br
1582115821
\tcode{group_read | group_write | group_exec} \\ \rowsep
15822-
\tcode{others_read} & \tcode{04} & \tcode{S_IROTH} &
15822+
\tcode{\libmember{others_read}{perms}} & \tcode{04} & \tcode{S_IROTH} &
1582315823
Read permission, others \\ \rowsep
15824-
\tcode{others_write} & \tcode{02} & \tcode{S_IWOTH} &
15824+
\tcode{\libmember{others_write}{perms}} & \tcode{02} & \tcode{S_IWOTH} &
1582515825
Write permission, others \\ \rowsep
15826-
\tcode{others_exec} & \tcode{01} & \tcode{S_IXOTH} &
15826+
\tcode{\libmember{others_exec}{perms}} & \tcode{01} & \tcode{S_IXOTH} &
1582715827
Execute/search permission, others \\ \rowsep
15828-
\tcode{others_all} & \tcode{07} & \tcode{S_IRWXO} &
15828+
\tcode{\libmember{others_all}{perms}} & \tcode{07} & \tcode{S_IRWXO} &
1582915829
Read, write, execute/search by others;\br
1583015830
\tcode{others_read | others_write | others_exec} \\ \rowsep
15831-
\tcode{all} & \tcode{0777} & &
15831+
\tcode{\libmember{all}{perms}} & \tcode{0777} & &
1583215832
\tcode{owner_all | group_all | others_all} \\ \rowsep
15833-
\tcode{set_uid} & \tcode{04000} & \tcode{S_ISUID} &
15833+
\tcode{\libmember{set_uid}{perms}} & \tcode{04000} & \tcode{S_ISUID} &
1583415834
Set-user-ID on execution \\ \rowsep
15835-
\tcode{set_gid} & \tcode{02000} & \tcode{S_ISGID} &
15835+
\tcode{\libmember{set_gid}{perms}} & \tcode{02000} & \tcode{S_ISGID} &
1583615836
Set-group-ID on execution \\ \rowsep
15837-
\tcode{sticky_bit} & \tcode{01000} & \tcode{S_ISVTX} &
15837+
\tcode{\libmember{sticky_bit}{perms}} & \tcode{01000} & \tcode{S_ISVTX} &
1583815838
Operating system dependent. \\ \rowsep
15839-
\tcode{mask} & \tcode{07777} & &
15839+
\tcode{\libmember{mask}{perms}} & \tcode{07777} & &
1584015840
\tcode{all | set_uid | set_gid | sticky_bit} \\ \rowsep
15841-
\tcode{unknown} & \tcode{0xFFFF} & &
15841+
\tcode{\libmember{unknown}{perms}} & \tcode{0xFFFF} & &
1584215842
The permissions are not known, such as when a \tcode{file_status} object
1584315843
is created without specifying the permissions \\
1584415844
\end{floattable}
@@ -15860,15 +15860,15 @@
1586015860
\topline
1586115861
\lhdr{Name} &
1586215862
\rhdr{Meaning} \\ \capsep
15863-
\tcode{replace} &
15863+
\tcode{\libmember{replace}{perm_options}} &
1586415864
\tcode{permissions} shall replace the file's permission bits with \tcode{perm} \\ \rowsep
15865-
\tcode{add} &
15865+
\tcode{\libmember{add}{perm_options}} &
1586615866
\tcode{permissions} shall replace the file's permission bits with
1586715867
the bitwise \logop{or} of \tcode{perm} and the file's current permission bits. \\ \rowsep
15868-
\tcode{remove} &
15868+
\tcode{\libmember{remove}{perm_options}} &
1586915869
\tcode{permissions} shall replace the file's permission bits with
1587015870
the bitwise \logop{and} of the complement of \tcode{perm} and the file's current permission bits. \\ \rowsep
15871-
\tcode{nofollow} &
15871+
\tcode{\libmember{nofollow}{perm_options}} &
1587215872
\tcode{permissions} shall change the permissions of a symbolic link itself
1587315873
rather than the permissions of the file the link resolves to. \\
1587415874
\end{floattable}
@@ -15891,11 +15891,11 @@
1589115891
\lhdr{Name} &
1589215892
\rhdr{Meaning} \\ \capsep
1589315893

15894-
\tcode{none} &
15894+
\tcode{\libmember{none}{directory_options}} &
1589515895
(Default) Skip directory symlinks, permission denied is an error. \\ \rowsep
15896-
\tcode{follow_directory_symlink} &
15896+
\tcode{\libmember{follow_directory_symlink}{directory_options}} &
1589715897
Follow rather than skip directory symlinks. \\ \rowsep
15898-
\tcode{skip_permission_denied} &
15898+
\tcode{\libmember{skip_permission_denied}{directory_options}} &
1589915899
Skip directories that would otherwise result in permission denied. \\
1590015900
\end{floattable}
1590115901

source/threads.tex

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8726,7 +8726,6 @@
87268726
\rSec2[condition.variable.syn]{Header \tcode{<condition_variable>} synopsis}
87278727

87288728
\indexheader{condition_variable}%
8729-
\indexlibraryglobal{cv_status}%
87308729
\begin{codeblock}
87318730
namespace std {
87328731
// \ref{thread.condition.condvar}, class \tcode{condition_variable}
@@ -8737,7 +8736,7 @@
87378736
// \ref{thread.condition.nonmember}, non-member functions
87388737
void notify_all_at_thread_exit(condition_variable& cond, unique_lock<mutex> lk);
87398738

8740-
enum class cv_status { no_timeout, timeout };
8739+
enum class @\libglobal{cv_status}@ { @\libmember{no_timeout}{cv_status}@, @\libmember{timeout}{cv_status}@ };
87418740
}
87428741
\end{codeblock}
87438742

@@ -10349,26 +10348,25 @@
1034910348
\rSec2[future.syn]{Header \tcode{<future>} synopsis}
1035010349

1035110350
\indexheader{future}%
10352-
\indexlibraryglobal{future_errc}%
1035310351
\begin{codeblock}
1035410352
namespace std {
10355-
enum class future_errc {
10356-
broken_promise = @\impdefx{value of \tcode{future_errc::broken_promise}}@,
10357-
future_already_retrieved = @\impdefx{value of \tcode{future_errc::future_already_retrieved}}@,
10358-
promise_already_satisfied = @\impdefx{value of \tcode{future_errc::promise_already_satisfied}}@,
10359-
no_state = @\impdefx{value of \tcode{future_errc::no_state}}@
10353+
enum class @\libglobal{future_errc}@ {
10354+
@\libmember{broken_promise}{future_errc}@ = @\impdefx{value of \tcode{future_errc::broken_promise}}@,
10355+
@\libmember{future_already_retrieved}{future_errc}@ = @\impdefx{value of \tcode{future_errc::future_already_retrieved}}@,
10356+
@\libmember{promise_already_satisfied}{future_errc}@ = @\impdefx{value of \tcode{future_errc::promise_already_satisfied}}@,
10357+
@\libmember{no_state}{future_errc}@ = @\impdefx{value of \tcode{future_errc::no_state}}@
1036010358
};
1036110359

10362-
enum class launch : @\unspec{}@ {
10363-
async = @\unspec{}@,
10364-
deferred = @\unspec{}@,
10360+
enum class @\libglobal{launch}@ : @\unspec{}@ {
10361+
@\libmember{async}{launch}@ = @\unspec{}@,
10362+
@\libmember{deferred}{launch}@ = @\unspec{}@,
1036510363
@\impdefx{last enumerator of \tcode{launch}}@
1036610364
};
1036710365

10368-
enum class future_status {
10369-
ready,
10370-
timeout,
10371-
deferred
10366+
enum class @\libglobal{future_status}@ {
10367+
@\libmember{ready}{future_status}@,
10368+
@\libmember{timeout}{future_status}@,
10369+
@\libmember{deferred}{future_status}@
1037210370
};
1037310371

1037410372
// \ref{futures.errors}, error handling

0 commit comments

Comments
 (0)