Difference between revisions of "C++11"
Jump to navigation
Jump to search
Line 9: | Line 9: | ||
! Comment | ! Comment | ||
|- | |- | ||
| unique_ptr<> | | std::unique_ptr<> | ||
|not yet | |not yet | ||
| replaces boost::scoped_ptr<> and std::auto_ptr<> | | replaces boost::scoped_ptr<> and std::auto_ptr<> | ||
|- | |- | ||
| shared_ptr<> | | std::shared_ptr<> | ||
| not yet | | not yet | ||
| | | | ||
|- | |||
| std::unordered_*<> | |||
| | |||
| replaces the hack in util/unordered-containers.h | |||
|- | |- | ||
| auto | | auto (type inference) | ||
| not yet | | not yet | ||
| | | | ||
Line 28: | Line 32: | ||
| not yet | | not yet | ||
| | | | ||
|- | |||
| lambda functions | |||
| not yet | |||
| in-place defitions for small functions | |||
|- | |||
| constructor delegation | |||
| not yet | |||
| reduces boilerplate when an object has many constructors | |||
|- | |||
| right angle brackets in templates | |||
| not yet | |||
| fixes coding style oddity | |||
|- | |- | ||
| toxic feature of doom | | toxic feature of doom |
Revision as of 23:33, 18 October 2013
C++11 usage status
The table lists C++11 features and whether they can be used in Inkscape or not (yet). Add C++11 features that you would like to use to the table, so that we know what to test for to increase the C++11 "allowance".
Feature | Can use? | Comment |
---|---|---|
std::unique_ptr<> | not yet | replaces boost::scoped_ptr<> and std::auto_ptr<> |
std::shared_ptr<> | not yet | |
std::unordered_*<> | replaces the hack in util/unordered-containers.h | |
auto (type inference) | not yet | |
enum class | not yet | |
range-based for | not yet | |
lambda functions | not yet | in-place defitions for small functions |
constructor delegation | not yet | reduces boilerplate when an object has many constructors |
right angle brackets in templates | not yet | fixes coding style oddity |
toxic feature of doom | NO | Never use this (in case we stumble upon C++11 features that we really don't like |
supported feature | from 0.50 |
C++11 platform status
The table lists C++11 features and whether they work in trunk on a certain platform as advertised. If all lights are green -> set the light to green in the [C++11 usage status] section (taking current trunk version into account).
Feature | Windows | Mac | Linux A | Linux B | Comment |
---|---|---|---|---|---|
unique_ptr<> | |||||
shared_ptr<> | |||||
auto | |||||
enum class | |||||
range-based for |