[
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15979958#comment-15979958
]
James E. King, III commented on THRIFT-2221:
--------------------------------------------
I was able to isolate the following concepts such that if C++11 is present at
build time they are used from {{std::}} instead of {{boost::}}
* const_pointer_cast
* dynamic_pointer_cast
* enable_shared_from_this
* make_shared
* shared_ptr
* static_pointer_cast
* weak_ptr
The others are not in C++11 yet such as reinterpret_pointer_cast; and
scoped_ptr has been replaced in std:: with unique_ptr so I changed all
references of it to stdcxx::shared_ptr instead.
I moved {{<thrift/cxxfunctional.h>}} to {{<thrift/stdcxx.h>}} and added this
new logic, and changed all the source code files so none of the boost headers
or namespaces are referenced any more for those items. I also removed the
"tcxx" namespace as it is not good to define a top level namespace like "tcxx"
which could conflict with a consuming application's namespace. These concepts
are in {{apache::thrift::stdcxx::}}.
It seems to be working out well so I will submit a PR shortly.
> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> --------------------------------------------------------------------
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Compiler
> Affects Versions: 0.9.1
> Environment: C++11 compilers with std::shared_ptr support
> Reporter: Chris Stylianou
> Assignee: James E. King, III
> Labels: c++11, compiler, thrift
>
> Most modern compilers now have full support for std::shared_ptr when enable
> with c++11 flags. It would be nice to have the option to generate code that
> uses this instead of boost::shared_ptr. This would enable us to remove
> another boost dependency, on the road to a dependency-free thrift library :)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)