|
template<class F , class ArgTuple > |
decltype(auto) | apply (F &&f, ArgTuple &&args) |
| Apply function with arguments given as tuple. More...
|
|
template<typename... Args> |
std::array< typename std::common_type< Args... >::type, sizeof...(Args)> | make_array (const Args &... args) |
| Create and initialize an array. More...
|
|
template<typename T , typename... Args> |
MakeUniqueHelper< T >::NonArrayUniquePtr | make_unique (Args &&... args) |
| Implementation of std::make_unique to be introduced in C++14. More...
|
|
template<typename T > |
MakeUniqueHelper< T >::UnknownBoundArrayUniquePtr | make_unique (size_t n) |
| Implementation of std::make_unique to be introduced in C++14. More...
|
|
template<typename T , typename ... Args> |
MakeUniqueHelper< T >::KnownBoundArrayUniquePtr | make_unique (Args &&... args)=delete |
| Implementation of std::make_unique to be introduced in C++14. More...
|
|
Create index_sequence from 0 to sizeof...(T)-1.
This should do the same as std::index_sequence_for. But due to a bug in the sizeof... operator this may produce wrong results with clang<3.8.
As a workaround we provide our own implementation that avoids this bug even if the std:: version exists.
This implemenation can be dropped, once we require a minimum clang version that has this bug fixed (i.e. >=3.8).
template<typename T , typename ... Args>
MakeUniqueHelper<T>::KnownBoundArrayUniquePtr Dune::Std::make_unique |
( |
Args &&... |
args | ) |
|
|
delete |
Implementation of std::make_unique to be introduced in C++14.
- Template Parameters
-
T | Array type of known bound |
Args | Dummy arguments |
This is deleted, since, according to the standard this should not participate in overload resolution
- Parameters
-
- Template Parameters
-
T | Nonarray type of object to be constructed |
...Args | Parameter types for constructor of T |
- Parameters
-
args | Arguments to be passed to constructor of T |
This fallback implementation using perfect forwarding as proposed by Herb Sutter in http://herbsutter.com/gotw/_102/