Relaxed constexpr
Loops, local variables and mutation in constexpr functions; constexpr additions to <complex>, <chrono>, containers, utilities and functors.
Connected features
Papers
7 · Portland 2012 → Chicago 2013Makes std::complex operations constexpr. Editor added constexpr in a few inconsistently missing places between synopses and descriptions..
Makes more of <chrono> constexpr.
Makes std::array accessors and other container pieces constexpr. Editor added constexpr in a few inconsistently missing places between synopses and descriptions..
Makes pair, tuple, forward, move and other utilities constexpr.
Relaxes constexpr functions: local variables, loops, multiple statements; removes implicit const on constexpr member functions. Conflicts resolved as indicated in N3652; [class.copy]/26 'direct base class subobject' per CWG chair..
Fixes constexpr member functions in the library that must not be const.
Makes the <functional> operator functors constexpr. Per N4139, part of this motion (constexpr on equal_to, not_equal_to, greater, less, greater_equal, less_equal comparison operators) was mis-applied and corrected in the C++14 IS (N4141), also resolving DIS comments JP 08/JP 09..