From 8c6f3c331c3b1cf16f5fa00dce40408b0621f04a Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Mon, 16 Sep 2024 10:54:37 -0700 Subject: [PATCH] More monadic operators (#151) Add missing description of some expression monadic operators. --- ltx/exprs.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ltx/exprs.tex b/ltx/exprs.tex index 7f7f832..44abe69 100644 --- a/ltx/exprs.tex +++ b/ltx/exprs.tex @@ -1880,6 +1880,9 @@ \subsection{Monadic operators} \enumerator{Materialize} \enumerator{PseudoDtorCall} \enumerator{LookupGlobally} + \enumerator{Artificial} + \enumerator{MetaDescriptor} + \enumerator{Suffix} \setcounter{enumi}{1023} \enumerator{Msvc} @@ -1999,6 +2002,10 @@ \subsection{Monadic operators} \ifcSortSection{Materialize}{MonadicOperator} C++ abstract machine class temporary materialization operator. \ifcSortSection{PseudoDtorCall}{MonadicOperator} Pseudo-destructor call operator. \ifcSortSection{LookupGlobally}{MonadicOperator} Any operator in the immediate operand expression, at source-level, is to be looked-up in the global scope. For example, in \code{::new T(a, b)}, the corresponding storage allocation function \code{operator new} is to be looked up in the global scope. +\ifcSortSection{Artificial}{MonadicOperator} A notional operator indicating that the operand is implicitly generated and does not appear lexically in the input source code. +\ifcSortSection{MetaDescriptor}{MonadicOperator} A notional operator indicating that the operand (a \sortref{NamedDecl}{ExprSort}) + designates the RTTI object (the runtime type descriptor) for a type \type{T}. The type of the runtime type descriptor object is \type{T}. +\ifcSortSection{Suffix}{MonadicOperator} Indicator of a literal operator applied (as suffix) to a string literal (\sortref{String}{ExprSort}). \ifcSortSection{Msvc}{MonadicOperator} This is a marker, not an actual operator. Monadic operators with value greater that this are MSVC extensions.