$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Pimpl Again?
From: Vladimir Batov (Vladimir.Batov_at_[hidden])
Date: 2016-05-30 01:47:11
On 2016-05-30 12:36, Emil Dotchevski wrote:
> My 2c:
> 
> In foo.h, instead of
> 
> class foo
> {
>   class pimpl
>   pimpl * p_;
> public:
>   foo();
>   ~foo();
>   void do_something();
> };
> 
> It's better to do it the C way: simply leave foo incomplete:
> 
> struct foo;
> foo * create_foo();
> void destroy_foo( foo * );
> void do_something( foo * );
> 
> The above is much improved using shared_ptr:
> 
> struct foo;
> shared_ptr<foo> create_foo();
> void do_something( foo * );
If you are saying that pimpl is conceptually simple, then I agree. 
std::unique_ptr is conceptually simple as well.
If you are saying that the snippets you provided are sufficient, then I 
have to disagree. Say, pimpl in the context of polymorphic hierarchies 
or value pimpls come to mind.