[ 
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)

Reply via email to