-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Description
Now that PCL compiles with C++14 by default, it's high time to make a transition from Boost to standard smart pointers. This transition should not break source code level compatibility with previous releases. In other words, users should be able to compile their downstream projects with both PCL 1.9 and PCL master.
Grepping for shared_ptr in PCL code base I find well over a thousand matches. We can divide these in two groups: where it is a part of public API and where it is not. For the second group the transition is straightforward. For the first group... it depends. As far as I can see, not all shared pointers in API are hidden behind typedefs. This is bad. We will need to think about it and come up with a good strategy how to smoothly convert these.
In the meantime, as a first step I propose to take care of the non-API shared pointers. I think it's not purely mechanical change and we'd always need to carefully double check the context. So I see this as a series of medium-sized PRs. This way it's a) not as daunting a task to do actual changes b) and to review; c) plus we'll have fewer conflicts with other PRs, especially the modernization ones that tend to produce large scattered diffs.
I can (slowly) start with this. @SunBlack your help would surely be appreciated if you are interested. We'll need to orchestrate our efforts to avoid conflicts and double work.