|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r48697 - sandbox/committee/concepts/stdlib
From: dgregor_at_[hidden]
Date: 2008-09-10 10:41:45
Author: dgregor
Date: 2008-09-10 10:41:44 EDT (Wed, 10 Sep 2008)
New Revision: 48697
URL: http://svn.boost.org/trac/boost/changeset/48697
Log:
Add HasSubscript, remove HasPlacementNew
Text files modified:
sandbox/committee/concepts/stdlib/clib-concepts.tex | 32 ++++++++++++++++++++------------
1 files changed, 20 insertions(+), 12 deletions(-)
Modified: sandbox/committee/concepts/stdlib/clib-concepts.tex
==============================================================================
--- sandbox/committee/concepts/stdlib/clib-concepts.tex (original)
+++ sandbox/committee/concepts/stdlib/clib-concepts.tex 2008-09-10 10:41:44 EDT (Wed, 10 Sep 2008)
@@ -120,6 +120,13 @@
\tcode{LessThanComparable} rather than \tcode{HasLess},
\tcode{HasGreater}, \tcode{HasLessEqual}, and
\tcode{HasGreatEqual}.
+ \item Added the \tcode{HasSubscript}
+ concept, from Daniel Kr\"ugler, to finish providing concepts for
+ all overloadable operators.
+ \item Based on the resolution to library issue 402 (and the
+ follow-on issue 866), there is no longer a need for the
+ \tcode{HasPlacementNew} concept in the Standard Library, so it has
+ been removed.
\end{itemize}
\end{titlepage}
@@ -261,6 +268,7 @@
auto concept HasRightShift<typename T, typename U> @\textit{see below}@;
auto concept HasDereference<typename T> @\textit{see below}@;
auto concept HasAddressOf<typename T> @\textit{see below}@;
+ auto concept HasSubscript<typename T, typename U> @\textit{see below}@;
auto concept Callable<typename F, typename... Args> @\textit{see below}@;
auto concept HasAssign<typename T, typename U> @\textit{see below}@;
auto concept HasPlusAssign<typename T, typename U> @\textit{see below}@;
@@ -312,7 +320,6 @@
auto concept Swappable<typename T> @\textit{see below}@;
// \ref{concept.memory}, memory allocation:
- auto concept HasPlacementNew<typename T> @\textit{see below}@;
auto concept FreeStoreAllocatable<typename T> @\textit{see below}@;
// \ref{concept.regular}, regular types:
@@ -1050,6 +1057,18 @@
\end{itemdescr}
\begin{itemdecl}
+auto concept HasSubscript<typename T, typename U> {
+ typename result_type;
+ result_type operator[](T&&, const U&);
+}
+\end{itemdecl}
+
+\begin{itemdescr}
+\pnum
+\addedConcepts{\mbox{\reallynote} describes types with a subscript \mbox{\tcode{operator[].}}}
+\end{itemdescr}
+
+\begin{itemdecl}
auto concept Callable<typename F, typename... Args> {
typename result_type;
result_type operator()(F&&, Args...);
@@ -1672,17 +1691,6 @@
\rSec2[concept.memory]{Memory allocation}
\begin{itemdecl}
-auto concept HasPlacementNew<typename T> {
- void* T::operator new(size_t size, void*);
-}
-\end{itemdecl}
-
-\begin{itemdescr}
-\pnum
-\addedConcepts{\mbox{\reallynote} Describes types that have a placement new.}
-\end{itemdescr}
-
-\begin{itemdecl}
auto concept FreeStoreAllocatable<typename T> {
void* T::operator new(size_t size);
void T::operator delete(void*);
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk