lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] odd/move_semantics f09746b4 3/5: Expand commentary


From: Greg Chicares
Subject: [lmi-commits] [lmi] odd/move_semantics f09746b4 3/5: Expand commentary
Date: Mon, 1 Aug 2022 19:37:41 -0400 (EDT)

branch: odd/move_semantics
commit f09746b48d1cb60ac20dc1f71daa0ce4bc5eec7c
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Expand commentary
---
 sandbox_test.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/sandbox_test.cpp b/sandbox_test.cpp
index a84b89b4..326ed83e 100644
--- a/sandbox_test.cpp
+++ b/sandbox_test.cpp
@@ -50,6 +50,12 @@ struct ambiguator
     operator T&&();
 };
 
+// Terse alternatives
+//   well_move_a5able  for  well_move_assignable
+//   well_move_c8ible  for  well_move_constructible
+// were considered, but they looked too much like
+//   a Sable, c Bible
+
 template<typename T> constexpr bool equiplausible_construct()
 {
     return !std::is_constructible_v<T,ambiguator<T>>;
@@ -60,6 +66,14 @@ template<typename T> constexpr bool equiplausible_assign()
     return !std::is_assignable_v<T,ambiguator<T>>;
 }
 
+// This thing is mercifully unnecessary: unnecessary because nothing
+// in this file depends upon it, and mercifully so because there are
+// at least three different notions in the standard:
+//   std::is_copy_constructible
+//   std::copy_constructible
+//   std::copyable
+// and using the name of one as an alias for another is nightmarish.
+
 template<typename T> constexpr bool copyable()
 {
     return std::is_copy_constructible_v<T>;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]