[
https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712801#comment-16712801
]
James E. King III commented on THRIFT-4678:
-------------------------------------------
In this effort here, `BOOST_NOEXCEPT_OR_NOTHROW` is a good option for exception
declarations, however if we build any exception code into the link library, one
would have to build a library for C++03 and one for C++11 in order for that to
work. It starts getting a bit messy.
I think it would be useful to first get the entire C++ library to work without
boost if someone has C++11 or later. Then we can drop support for C++03.
Anyone who needs C++03 support can use an older version (like 0.11.0 or 0.12.0,
to be released soon, hopefully). THRIFT-4441 covers the effort to wean the
project off boost. Perhaps this work can be done in cooperation with that
work? The author of THRIFT-4441 seems to have disappeared or dropped their
effort; they were pretty close to completing the work of getting to C++11
without the need for boost.
> add noexcept cpp generator option
> ---------------------------------
>
> Key: THRIFT-4678
> URL: https://issues.apache.org/jira/browse/THRIFT-4678
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Compiler, C++ - Library
> Affects Versions: 0.11.0
> Reporter: yuanyuan chen
> Priority: Minor
>
> The C++11 standard has deprecated the usage of throw() to express
> exceptions,so to avoid warnings from the compiler,I think this option is
> useful.
> I have a pull request in github,this issue is created to track it.
> Some questions remain:
> 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW?
> 2.Should we add an control option to enable all c++11 options like
> moveable_types .etc?
> 3.Should we begin to support C+17 features? I think std::optional should be
> used to implement optional keyword,but this is clearly an API breaking
> change,so we need an c+17 control option.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)