I do not think we will sacrifice anything. C++11 has lots new features such
as smart pointers and lamdas, but I do not see where we can use them on our
public API.

For example, both Hazelcast and GigaSpaces has the following API for cache
GET:
boost::shared_ptr<MyVal> val = cache<MyKey, MyVal>.get();

Boost contributed smart poitners to C++11 and we can implement it as
follows now:
std::shared_ptr<MyVal> val = cache<MyKey, MyVal>.get();

I.e., with pure C++11 and no dependency on Boost. But in my opinion
returning smart pointer from cache GET doesn't add any value comparing to
returning unmanaged pointer, which user can wrap into smart pointer later
if he really needs it:
MyVal* val = cache<MyKey, MyVal>.get();

I think having less dependencies and greater backward compatibility
outweight features like this.

On Wed, May 20, 2015 at 10:28 AM, Dmitriy Setrakyan <dsetrak...@apache.org>
wrote:

> On Wed, May 20, 2015 at 12:01 AM, Vladimir Ozerov <voze...@gridgain.com>
> wrote:
>
> > C++11 users can use C++03 projects, but not vice-versa.
> >
>
> Are we sacrificing any features? (sorry, my C++ knowledge is limited).
>
>
> > On Wed, May 20, 2015 at 9:52 AM, Dmitriy Setrakyan <
> dsetrak...@apache.org>
> > wrote:
> >
> > > On Tue, May 19, 2015 at 11:27 PM, Vladimir Ozerov <
> voze...@gridgain.com>
> > > wrote:
> > >
> > > > Igniters,
> > > >
> > > > We need to decide which C++ version to use in interop. Currently wide
> > > > developer community is in progress of adopting C++11. But if we
> choose
> > > it,
> > > > users might have problems if their CPP projects using older C++
> > revisions
> > > > which are still very common.
> > > >
> > > > I think we should stick to C++03 revision for now. Thoughts?
> > > >
> > >
> > > If we stick to this version, what are the consequences for users who
> run
> > > C++ 11?
> > >
> > >
> > > >
> > > > Vladimir.
> > > >
> > >
> >
>

Reply via email to