Comments (2)
Poco::Optional
and Poco::Nullable
need a review and reimplementation.
I'd say, since std::optional
is part of the standard since c++17, Poco::Optional
and Poco::Nullable
should be implemented in terms of it (current implementations are inefficient anyways, could/should have been implemented with pointer and the bool flag "wart" avoided; NullType
could have been nullptr_t
, but even as it is it could have at least been static const
).
C++23 adds monadic operations; if I'm understanding it right, that's what you are looking for. We did not yet move to C++23, so we can't introduce it internally at this time, but you could implement those and they can be replaced later once we move to C++23. Does that help?
/cc @matejk
from poco.
I guess Poco::Optional
is only really interesting if it's offering an alternative for users of C++14 and earlier. If the project is just targeting C++17 and up, it's probably not really interesting to develop this further. Maybe I'll just create some kind of iterator adapter to scratch my own itch.
from poco.
Related Issues (20)
- websocket client shutdown issue on windows 7
- Poco::URI: don't lowercase host part if it's a Unix domain socket
- Poco::Thread setName
- Thread destructor HOT 1
- client certificate verification against hostname question HOT 1
- Upgrade bundled libexpat to 2.6.1
- Upgrade bundled PCRE2 to 10.43
- Bump CI action versions
- ProcessRunner does not detect launch errors
- DateTimeFormat RFC1036 Sunday name is short (should be long)
- Add Poco::Util::Timer::idle() method to check if timer has any tasks scheduled
- Poco::BasicMemoryStreamBuf is missing seekpos()
- PocoDoc: search support
- websockets server: 401 unauthorized
- Upgrade bundled libexpat to 2.6.2
- Couldn't establish an encrypted FTP data connection with FTP(S)ClientSession HOT 2
- Optional and Nullable Improvements HOT 1
- GitHub runner: Linux thread sanitizer tests fail with "unexpected memory mapping"
- ODBC Unicode wrappers do not check for null length pointers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poco.