Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 62734eb

Browse filesBrowse files
committed
Fix to 2013-09 LWG Motion 7:
[comparisons] Fix incorrect application of N3789 to the working paper: - Add 'constexpr' to std::equal_to<>::operator() std::not_equal_to<>::operator() std::greater<>::operator() std::less<>::operator() std::greater_equal<>::operator() std::less_equal<>::operator() - Reorder 'bool constexpr' to 'constexpr bool' in std::logical_or<T>::operator() std::logical_and<T>::operator() std::logical_not<T>::operator() Also fixes 14882:2014 DIS JP 08, fixes 14882:2014 DIS JP 09, fixes #291.
1 parent 03767f4 commit 62734eb
Copy full SHA for 62734eb

File tree

1 file changed

+9
-9
lines changed
Filter options

1 file changed

+9
-9
lines changed

‎source/utilities.tex

Copy file name to clipboardExpand all lines: source/utilities.tex
+9-9
Original file line numberDiff line numberDiff line change
@@ -7807,7 +7807,7 @@
78077807
\indexlibrary{\idxcode{equal_to<>}}%
78087808
\begin{itemdecl}
78097809
template <> struct equal_to<void> {
7810-
template <class T, class U> auto operator()(T&& t, U&& u) const
7810+
template <class T, class U> constexpr auto operator()(T&& t, U&& u) const
78117811
-> decltype(std::forward<T>(t) == std::forward<U>(u));
78127812

78137813
typedef @\unspec@ is_transparent;
@@ -7822,7 +7822,7 @@
78227822
\indexlibrary{\idxcode{not_equal_to<>}}%
78237823
\begin{itemdecl}
78247824
template <> struct not_equal_to<void> {
7825-
template <class T, class U> auto operator()(T&& t, U&& u) const
7825+
template <class T, class U> constexpr auto operator()(T&& t, U&& u) const
78267826
-> decltype(std::forward<T>(t) != std::forward<U>(u));
78277827

78287828
typedef @\unspec@ is_transparent;
@@ -7837,7 +7837,7 @@
78377837
\indexlibrary{\idxcode{greater<>}}%
78387838
\begin{itemdecl}
78397839
template <> struct greater<void> {
7840-
template <class T, class U> auto operator()(T&& t, U&& u) const
7840+
template <class T, class U> constexpr auto operator()(T&& t, U&& u) const
78417841
-> decltype(std::forward<T>(t) > std::forward<U>(u));
78427842

78437843
typedef @\unspec@ is_transparent;
@@ -7852,7 +7852,7 @@
78527852
\indexlibrary{\idxcode{less<>}}%
78537853
\begin{itemdecl}
78547854
template <> struct less<void> {
7855-
template <class T, class U> auto operator()(T&& t, U&& u) const
7855+
template <class T, class U> constexpr auto operator()(T&& t, U&& u) const
78567856
-> decltype(std::forward<T>(t) < std::forward<U>(u));
78577857

78587858
typedef @\unspec@ is_transparent;
@@ -7867,7 +7867,7 @@
78677867
\indexlibrary{\idxcode{greater_equal<>}}%
78687868
\begin{itemdecl}
78697869
template <> struct greater_equal<void> {
7870-
template <class T, class U> auto operator()(T&& t, U&& u) const
7870+
template <class T, class U> constexpr auto operator()(T&& t, U&& u) const
78717871
-> decltype(std::forward<T>(t) >= std::forward<U>(u));
78727872

78737873
typedef @\unspec@ is_transparent;
@@ -7882,7 +7882,7 @@
78827882
\indexlibrary{\idxcode{less_equal<>}}%
78837883
\begin{itemdecl}
78847884
template <> struct less_equal<void> {
7885-
template <class T, class U> auto operator()(T&& t, U&& u) const
7885+
template <class T, class U> constexpr auto operator()(T&& t, U&& u) const
78867886
-> decltype(std::forward<T>(t) <= std::forward<U>(u));
78877887

78887888
typedef @\unspec@ is_transparent;
@@ -7909,7 +7909,7 @@
79097909
\indexlibrary{\idxcode{logical_and}}%
79107910
\begin{itemdecl}
79117911
template <class T = void> struct logical_and {
7912-
bool constexpr operator()(const T& x, const T& y) const;
7912+
constexpr bool operator()(const T& x, const T& y) const;
79137913
typedef T first_argument_type;
79147914
typedef T second_argument_type;
79157915
typedef bool result_type;
@@ -7924,7 +7924,7 @@
79247924
\indexlibrary{\idxcode{logical_or}}%
79257925
\begin{itemdecl}
79267926
template <class T = void> struct logical_or {
7927-
bool constexpr operator()(const T& x, const T& y) const;
7927+
constexpr bool operator()(const T& x, const T& y) const;
79287928
typedef T first_argument_type;
79297929
typedef T second_argument_type;
79307930
typedef bool result_type;
@@ -7939,7 +7939,7 @@
79397939
\indexlibrary{\idxcode{logical_not}}%
79407940
\begin{itemdecl}
79417941
template <class T = void> struct logical_not {
7942-
bool constexpr operator()(const T& x) const;
7942+
constexpr bool operator()(const T& x) const;
79437943
typedef T argument_type;
79447944
typedef bool result_type;
79457945
};

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.