My C++ wrapper for D-BUS

Murray Cumming murrayc at murrayc.com
Fri Sep 16 03:18:20 PDT 2005


>> > - Any C++ users who for various reasons are not using Boost [3] might
>> > not like my bindings because I depend on boost::shared_ptr.
>>
>> boost is not meant to be a stable API and does not allow parallel
>> installation when they break API. It's not something that should be used
>> in other APIs that should be stable.
>
> My experience with the parts of boost I use is that the API is stable
> and the code is of high quality, but I assume they don't make any
> guarantees.

Different parts of boost are more stable than others. No parts guarantee
API stability and no parts tend to be packaged separately. boost is great
code but it is primarily a test ground for future C++ standards, and API
stability promises would hinder that. There's nothing wrong with that
choice of priorities.

As long as any part of boost can change API, and boost does not install in
parallel, then there will be a danger when updating boost on a deployed
system. That means that a stable part of boost can not benefit from
available non-ABI-changing bug fixes. That's another reason not to depend
on it.

> By the way, don't forget that the upcoming standardized shared_ptr is
> available in gcc 4 as std::tr1:shared_ptr. I haven't compared it with
> boost::shared_ptr but I don't think there is much difference.

Yes, it's not stable in gcc 4 either. A libsigc++-type API should get into
tr2 as well. The future is better but it's not here quite yet.

> To summarize: We have different objectives for our implementations and
> as I hardly have time for the project I use my D-BUS wrappers in, I will
> probably not be of much use... :-(

Oh well. One of us will get around to it eventually. Thanks.

Murray Cumming
murrayc at murrayc.com
www.murrayc.com
www.openismus.com



More information about the dbus mailing list