[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 1003201 2/2: Designate release candidate 2021
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 1003201 2/2: Designate release candidate 20210806T1957Z |
Date: |
Fri, 6 Aug 2021 20:06:37 -0400 (EDT) |
branch: master
commit 100320168adb12565157068f0740b3b12d3b2d0f
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Designate release candidate 20210806T1957Z
There's no particular reason to make a release candidate now, except
that some recent work is finished:
- iostream scope guards: success
- null ostream: largely fruitless
As for null ostreams:
- With 'wine', writing the solve trace to a null ostream, rather than
to the statusbar, doubles the speed of a lengthy solve. With real
msw, under otherwise identical circumstances, the effect on speed is
negligible. Dreams of a tremendous improvement came to naught.
- There's really no simple way to avoid the pitfall demonstrated in a
recently-added unit test. In more detail...
Given
foo(arg1, arg2, std::ostream& os=some_default())
it's not possible to write some_default() in a way that serves up an
already-constructed (hence, static or global) stream while avoiding the
peril that its streambuf can be replaced (with global effect). These
techniques don't work:
- Derive from std::ostream, and override rdbuf()...which isn't virtual,
so the std::ostream& argument doesn't know about it.
- Look for a virtual function that might be overridden, at least to
assert that the streambuf hasn't been altered...but there is none in
std::ostream, and overriding a streambuf function doesn't help when
the streambuf has been replaced.
- Try messing with unique_ptr...which means changing the problem to
foo(arg1, arg2, SomeNewCustomStreamClass& os=some_default())
but that's too much work.
- Move constructor...nope:
https://cplusplus.github.io/LWG/lwg-defects.html#911
---
version.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/version.hpp b/version.hpp
index 3054c4a..f0cc8b9 100644
--- a/version.hpp
+++ b/version.hpp
@@ -22,6 +22,6 @@
#include "config.hpp"
-#define LMI_VERSION "20210602T1807Z"
+#define LMI_VERSION "20210806T1957Z"
#endif // version_hpp