Why does FastDDS/Fast-CDR use eprosima::fastcdr::optional instead of std::optional? #6310
Unanswered
lancelot-Yagami
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Is there an already existing issue for this?
Expected behavior
Hi, thanks for the great work on FastDDS and Fast-CDR.
While reading the documentation about optional members in IDL, I noticed that optional fields are mapped to
eprosima::fastcdr::optional<T>instead ofstd::optional<T>.If backward compatibility with older C++ standards is required, one possible approach could be:
Use std::optional when C++17 or newer is available
Fall back to eprosima::fastcdr::optional otherwise
Thanks again for your work on this project. I'm asking mainly to understand the design decision and potential future direction.
Current behavior
eprosima::fastcdr::optional<T>Steps to reproduce
None
Fast DDS version/commit
3.4.2
Platform/Architecture
Ubuntu Focal 20.04 amd64
Transport layer
Default configuration, UDPv4 & SHM
Additional context
No response
XML configuration file
Relevant log output
Network traffic capture
No response
Beta Was this translation helpful? Give feedback.
All reactions