1 |
2015-05-03 0:17 GMT+03:00 Kent Fredric <kentfredric@×××××.com>: |
2 |
|
3 |
> |
4 |
> On 3 May 2015 at 09:11, Maxim Koltsov <maksbotan@g.o> wrote: |
5 |
> |
6 |
>> LeechCraft has some functionality that is implemented in C++14 and won't |
7 |
>> be available otherwise. |
8 |
>> |
9 |
> |
10 |
> Can you clarify the nature of that functionality? |
11 |
> |
12 |
|
13 |
The Tox support module and email client module (the latter isn't in tree |
14 |
yet, but a good example anyway) both rely on relaxed constexpr from C++14. |
15 |
|
16 |
In some of the newer code I rely on automatic return type deduction and |
17 |
generic lambdas, for example, or some changes in STL. Thus, it's safer to |
18 |
say that basically all new modules that are written (and would be written) |
19 |
since ~January 2015 would require C++14 as a baseline language. |
20 |
|
21 |
Moreover, C++14 allows writing more efficient code (without extra levels of |
22 |
indirection induced by std::function required if one is to specify the |
23 |
return type of a function returning a lambda, for example) in some places. |
24 |
|
25 |
|
26 |
> Shouldn't the USE flag be thus in terms of what that functionality is, not |
27 |
> in terms of the dependency required to provide it? |
28 |
> |
29 |
|
30 |
Since the most general criteria for the functionality is "whether C++14 |
31 |
compiler is available", "c++14" or something like that seems the best fit |
32 |
for the USE flag name. |
33 |
|
34 |
We have "idn" or "gnutls" or "python" etc USE flags after all, not |
35 |
"support_international_names_in_blah" or |
36 |
"allow_secure_news_fetching_in_foo" or "build_scripting_support_for_baz". |
37 |
|
38 |
Or I just didn't get you here, sorry me in this case :) |
39 |
|
40 |
-- |
41 |
Georg Rudoy |