[Nfd-dev] Using (some features of) C++11

Davide Pesavento davide.pesavento at lip6.fr
Sun Oct 19 08:45:34 PDT 2014


On Sun, Oct 19, 2014 at 5:28 PM, Junxiao Shi
<shijunxiao at email.arizona.edu> wrote:
> Hi Davide
>
> I would say: ndn-cxx, NFD, and all other projects depending on ndn-cxx
> should be compiled exclusively in C++11 mode.
> We have never used C++98 mode. Currently we are using C++03 mode.

C++98 and C++03 are the same thing.

>
> It's unnecessary for ndn-cxx to keep C++03 compatibility, for the following
> reasons:
>
> ndn-cxx and projects depending on it are almost useless without NFD running
> on the same machine.
>
> "almost": ndn-cxx's Face needs NFD. Few applications don't use Face: tlvdump
> is an example.
>
> When NFD is running on the same machine, the platform must have a C++11
> compiler, so ndn-cxx and other projects can be compiled in C++11 mode.
> Performance benefits of C++11 (mainly from move constructor) are severely
> limited when ndn-cxx wants to keep C++03 compatibility.
>

Personally, I agree. However I believe we were concerned about
third-party applications compiling and linking against ndn-cxx, and
that we didn't want to force C++11 onto them.

>
> Yours, Junxiao
>
> On Sun, Oct 19, 2014 at 7:59 AM, Davide Pesavento <davide.pesavento at lip6.fr>
> wrote:
>>
>> I've been thinking about this for a while but I haven't found a good
>> solution for the (potential) ABI incompatibilities yet [1]. It might
>> even be a non-issue for us, but unfortunately there's no easy way to
>> check.
>>
>> Would it be too unreasonable to build two variants of ndn-cxx, one
>> using C++98 and one using C++11?
>>
>> [1] Assuming NFD will be compiled exclusively in C++11 mode, while
>> ndn-cxx stays compatible with both C++11 and C++98.
>>
>> Best,
>> Davide
>
>
> _______________________________________________
> Nfd-dev mailing list
> Nfd-dev at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>



More information about the Nfd-dev mailing list