Skip to content

P1082R0 LWG Issues to be moved in Rapperswil (except issue 3071) #2193

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Jun 21, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1550,7 +1550,7 @@

\pnum
Parallel algorithms shall not participate in overload resolution unless
\tcode{is_execution_policy_v<decay_t<ExecutionPolicy>>} is \tcode{true}.
\tcode{is_execution_policy_v<remove_cvref_t<ExecutionPolicy>>} is \tcode{true}.

\rSec1[alg.nonmodifying]{Non-modifying sequence operations}

Expand Down
14 changes: 7 additions & 7 deletions source/containers.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9750,7 +9750,12 @@
the program is ill-formed.

\pnum
The iterator type for span is a random access iterator and a contiguous iterator.
The iterator types \tcode{span::iterator} and \tcode{span::const_iterator} are
random access iterators\iref{random.access.iterators},
contiguous iterators\iref{iterator.requirements.general}, and
constexpr iterators\iref{iterator.requirements.general}.
All requirements on container iterators\iref{container.requirements} apply to
\tcode{span::iterator} and \tcode{span::const_iterator} as well.

\pnum
All member functions of \tcode{span} have constant time complexity.
Expand Down Expand Up @@ -9854,10 +9859,6 @@
constexpr span() noexcept;
\end{itemdecl}
\begin{itemdescr}
\pnum
\effects
Constructs an empty \tcode{span}.

\pnum
\postconditions
\tcode{size() == 0 \&\& data() == nullptr}.
Expand All @@ -9881,12 +9882,12 @@
\pnum
\effects
Constructs a \tcode{span} that is a view over the range \range{ptr}{ptr + count}.
If \tcode{count} is 0 then an empty span is constructed.

\pnum
\postconditions
\tcode{size() == count \&\& data() == ptr}.

\pnum
\throws
Nothing.
\end{itemdescr}
Expand All @@ -9905,7 +9906,6 @@
\pnum
\effects
Constructs a span that is a view over the range \range{first}{last}.
If \tcode{last - first == 0} then an empty \tcode{span} is constructed.

\pnum
\postconditions
Expand Down
2 changes: 1 addition & 1 deletion source/diagnostics.tex
Original file line number Diff line number Diff line change
Expand Up @@ -918,7 +918,7 @@

\pnum
The \tcode{is_error_code_enum} and \tcode{is_error_condition_enum} may be
specialized for user-defined types to indicate that such types are eligible
specialized for program-defined types to indicate that such types are eligible
for \tcode{class error_code} and \tcode{class error_condition} automatic
conversions, respectively.

Expand Down
22 changes: 16 additions & 6 deletions source/iostreams.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1436,6 +1436,10 @@
\end{itemdecl}

\begin{itemdescr}
\pnum
\requires
\tcode{idx} is a value obtained by a call to \tcode{xalloc}.

\pnum
\effects
If \tcode{iarray} is a null pointer, allocates an array of
Expand Down Expand Up @@ -1482,6 +1486,10 @@
\end{itemdecl}

\begin{itemdescr}
\pnum
\requires
\tcode{idx} is a value obtained by a call to \tcode{xalloc}.

\pnum
\effects
If \tcode{parray} is a null pointer, allocates an array of
Expand Down Expand Up @@ -14337,6 +14345,11 @@
Otherwise, cease iteration of the directory currently being
iterated over, and continue iteration over the parent directory.

\pnum
\postconditions Any copies of the previous value of \tcode{*this}
are no longer required
either to be dereferenceable or to be in the domain of \tcode{==}.

\pnum
\throws As specified in~\ref{fs.err.report}.
\end{itemdescr}
Expand Down Expand Up @@ -14795,21 +14808,18 @@

\begin{itemdescr}
\pnum
\effects Establishes the postcondition by attempting to create the
\effects Creates the
directory \tcode{p} resolves to, with
attributes copied from directory \tcode{existing_p}. The set of attributes
copied is operating system dependent. Creation failure because \tcode{p} resolves to an existing directory shall not be
treated as an error.
copied is operating system dependent.
Creation failure because \tcode{p} already exists is not an error.
\begin{note} For POSIX-based operating systems, the
attributes are those copied by native API \tcode{stat(existing_p.c_str(), \&attributes_stat)}
followed by \tcode{mkdir(p.c_str(), attributes_stat.st_mode)}. For
Windows-based operating systems, the attributes are those copied by native
API \tcode{CreateDirectoryExW(existing_p.c_str(), p.c_str(), 0)}.
\end{note}

\pnum
\postconditions \tcode{is_directory(p)}.

\pnum
\returns \tcode{true} if a new directory was created, otherwise \tcode{false}.
The signature with argument \tcode{ec} returns \tcode{false} if an error occurs.
Expand Down
22 changes: 20 additions & 2 deletions source/lib-intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,24 @@
member functions\iref{class.this}.
\end{defnote}

\definition{program-defined specialization}{defns.prog.def.spec}
\indexdefn{specialization!program-defined}%
explicit template specialization or partial specialization
that is not part of the C++ standard library and
not defined by the implementation

\definition{program-defined type}{defns.prog.def.type}
\indexdefn{type!program-defined}%
class type or enumeration type
that is not part of the C++ standard library and
not defined by the implementation,
or an instantiation of a program-defined specialization

\begin{defnote}
Types defined by the implementation include
extensions\iref{intro.compliance} and internal types used by the library.
\end{defnote}

\definition{referenceable type}{defns.referenceable}
\indexdefn{type!referenceable}%
type that is either an
Expand Down Expand Up @@ -2169,7 +2187,7 @@
to namespace
\tcode{std} provided that
(a) the added declaration
depends on at least one user-defined type
depends on at least one program-defined type
and
(b) the specialization meets the standard library requirements
for the original template.\footnote{Any
Expand Down Expand Up @@ -2202,7 +2220,7 @@
A program may explicitly instantiate
a class template defined in the standard library
only if the declaration
(a) depends on the name of at least one user-defined type
(a) depends on the name of at least one program-defined type
and
(b) the instantiation meets the standard library requirements for the
original template.
Expand Down
2 changes: 1 addition & 1 deletion source/locales.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1908,7 +1908,7 @@
Specializations on
\tcode{mbstate_t}
perform conversion between encodings known to the library implementer.
Other encodings can be converted by specializing on a user-defined
Other encodings can be converted by specializing on a program-defined
\tcode{stateT}
type.
Objects of type
Expand Down
Loading