Skip to content

Commit

Permalink
Several editorial changes per review committee comments.
Browse files Browse the repository at this point in the history
These stem primarily from Roger Orr's comments.
  • Loading branch information
David Sankel committed Aug 6, 2018
1 parent 38dfc25 commit 8871411
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 22 deletions.
Empty file removed src/basic.tex
Empty file.
4 changes: 2 additions & 2 deletions src/basicconcepts.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
%!TEX root = ts.tex

\rSec0[basic]{Basic concepts}
\rSec0[basic]{Basics}

\pnum
In C++ [basic], add the following last paragraph:
Expand All @@ -23,7 +23,7 @@
\added{
A function or static variable reflected by \tcode{T} [dcl.type.reflexpr] is
odr-used by the specialization
\tcode{std::experimental::reflect::get_pointer<T>} (\ref{reflect.ops.derived},
\tcode{std::experimental::reflect::get\char`_pointer<T>} (\ref{reflect.ops.derived},
\ref{reflect.ops.memfct}), as
if by taking the address of an \grammarterm{id-expression} nominating the
function or variable.
Expand Down
2 changes: 1 addition & 1 deletion src/declarations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@
& \added{that is not a local entity} & \\ \cline{2-3}
& \added{the name of an enumerator} & \added{both \tcode{reflect::Enumerator}} \\
& & \added{and \tcode{reflect::Constant}} \\ \cline{2-3}
& \added{the name of a function parameter} & \added{\tcode{reflect::FunctionParameter}} \\
& \added{the name of a function parameter} & \added{\tcode{reflect::FunctionParameter}} \\ \cline{2-3}
& \added{the name of a captured entity} & \added{\tcode{reflect::LambdaCapture}} \\
\bottomline
\end{floattable}
Expand Down
7 changes: 2 additions & 5 deletions src/general.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@

\pnum
Conformance requirements for this specification are those defined in subclause
4.1 in the Concepts TS, except that references to the Concepts TS or the C++
Standard therein shall be taken as referring to the document that is the result
of applying the editing instructions. Similarly, all references to the Concepts
TS or the C++ Standard in the resulting document shall be taken as referring to
the resulting document itself.
4.1 in the C++ Standard. Similarly, all references to the C++ Standard in the
resulting document shall be taken as referring to the resulting document itself.
\begin{note}
Conformance is defined in terms of the behavior of programs.
\end{note}
Expand Down
9 changes: 4 additions & 5 deletions src/intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
\pnum
The International Standard, ISO/IEC 14882, provides important context and
specification for this Technical Specification. This document is written as a
set of changes against that specification, as modified by ISO/IEC TS 19217:2015.
Instructions to modify or add paragraphs are written as explicit instructions.
Modifications made directly to existing text from the International Standard use
\added{underlining} to represent added text and \removed{strikethrough} to
represent deleted text.
set of changes against that specification. Instructions to modify or add
paragraphs are written as explicit instructions. Modifications made directly to
existing text from the International Standard use \added{underlining} to
represent added text and \removed{strikethrough} to represent deleted text.
18 changes: 9 additions & 9 deletions src/languagesupport.tex
Original file line number Diff line number Diff line change
Expand Up @@ -847,7 +847,7 @@
\end{itemdecl}
\begin{itemdescr}
\pnum
\tcode{Operator<T>} is \tcode{true} if and only if \tcode{T} reflects an operator function (\cxxref{over.oper}) or a conversion function (cxxref{class.conv.fct}). \begin{note} Some types that satisfy \tcode{Operator} also satisfy \tcode{MemberFunction} or \tcode{SpecialMemberFunction}. \end{note}
\tcode{Operator<T>} is \tcode{true} if and only if \tcode{T} reflects an operator function (\cxxref{over.oper}) or a conversion function (\cxxref{class.conv.fct}). \begin{note} Some types that satisfy \tcode{Operator} also satisfy \tcode{MemberFunction} or \tcode{SpecialMemberFunction}. \end{note}
\end{itemdescr}
\end{std.txt}

Expand Down Expand Up @@ -904,7 +904,8 @@

\pnum
If subsequent specializations of operations on the same reflected entity could give different constant expression results (for instance for \tcode{get_name_v} because the parameter's function is redeclared with a different parameter name between the two points of instantiation), the program is ill-formed, no diagnostic required.
\begin{example}\begin{codeblock}void func(int a);
\begin{example}\begin{codeblock}
void func(int a);
auto x1 = get_name_v<get_element_t<0, get_parameters_t<reflexpr(func(42))>>>;
void func(int b);
auto x2 = get_name_v<get_element_t<0, get_parameters_t<reflexpr(func(42))>>>; // ill-formed, no diagnostic required\end{codeblock}
Expand Down Expand Up @@ -1050,7 +1051,7 @@
\item for \tcode{T} reflecting a specialization of a template function, its \grammarterm{template-name};
\item for \tcode{T} reflecting a function parameter, its unqualified name;
\item for \tcode{T} reflecting a constructor, the \grammarterm{injected-class-name} of its class;
\item for \tcode{T} reflecting a destructor, the \grammarterm{injected-class-name} of its class, prefixed by the character '~';
\item for \tcode{T} reflecting a destructor, the \grammarterm{injected-class-name} of its class, prefixed by the character '\tilde';
\item for \tcode{T} reflecting an operator function, the \grammarterm{operator} element of the relevant \grammarterm{operator-function-id};
\item for \tcode{T} reflecting an conversion function, the same characters as \tcode{get_name_ve<R>}, with \tcode{R} reflecting the type represented by the \grammarterm{conversion-type-id}.
\end{itemize}
Expand Down Expand Up @@ -1156,8 +1157,8 @@
\end{note}

\end{itemdescr}
template <Type T> struct get_reflected_type;
\begin{itemdecl}
template <Type T> struct get_reflected_type;
\end{itemdecl}

\begin{itemdescr}
Expand Down Expand Up @@ -1250,9 +1251,8 @@
All specializations of these templates shall meet the \tcode{TransformationTrait} requirements (\cxxref{meta.rqmts}). The nested type named \tcode{type} is an alias to an \tcode{ObjectSequence} specialized with \tcode{RecordMember} types that reflect the following subset of non-template members of the class reflected by \tcode{T}:
\begin{itemize}
\item for \tcode{get_data_members} (\tcode{get_member_functions}), all data (function, including constructor and destructor) members.
\item for \tcode{get_public_data_members} (\tcode{get_public_member_functions}, all public data (function, including constructor and destructor) members;
\item for \tcode{get_accessible_data_members} (\tcode{get_accessible_member_functions}, all data (function, including constructor and destructor) members that are accessible from the context of the invocation of \tcode{reflexpr} which (directly or indirectly) generated \tcode{T}.
\pnum
\item for \tcode{get_public_data_members} (\tcode{get_public_member_functions}), all public data (function, including constructor and destructor) members;
\item for \tcode{get_accessible_data_members} (\tcode{get_accessible_member_functions}), all data (function, including constructor and destructor) members that are accessible from the context of the invocation of \tcode{reflexpr} which (directly or indirectly) generated \tcode{T}.
\begin{example}\begin{codeblock}
class X {
int a;
Expand Down Expand Up @@ -1545,7 +1545,7 @@
\grammarterm{parameter-declaration-clause} (\cxxref{dcl.fct}) (for
\tcode{is_vararg}), or an entity that is (where applicable implicitly or
explicitly) declared as \tcode{constexpr} (for \tcode{is_constexpr}),
\tcode{noexcept} (for \tcode{is_noexcept}), as an inline function
as \tcode{noexcept} (for \tcode{is_noexcept}), as an inline function
(\cxxref{dcl.inline}) (for \tcode{is_inline}), or as deleted (for
\tcode{is_deleted}), the base characteristic of the respective template
specialization is \tcode{true_type}, otherwise it is \tcode{false_type}.
Expand Down Expand Up @@ -1636,7 +1636,7 @@
\tcode{volatile} (for \tcode{is_volatile}), declared with a
\grammarterm{ref-qualifier} \tcode{\&} (for
\tcode{has_lvalueref_qualifier}) or \tcode{\&\&} (for
\tcode{has_rvalueref_qualifier}), implicitly or expicitly \tcode{virtual}
\tcode{has_rvalueref_qualifier}), implicitly or explicitly \tcode{virtual}
(for \tcode{is_virtual}), pure virtual (for \tcode{is_pure_virtual}), or
marked with \tcode{override} (for \tcode{is_override}) or \tcode{final}
(for \tcode{is_final}), the base characteristic of the respective
Expand Down

0 comments on commit 8871411

Please sign in to comment.