Possible Duplicate:
What is the meaning of “… …” token?
There is a relatively new way to directly specify function types (at least, as template parameters). Don't know whether this is strictly C++11, but I've came across it while reading GCC 4.7's STL headers.
It's like this:
std::function<void(int, char**)> f;
And now, in header file <functional>
, I see the following:
template <typename R, typename... A>
struct SomeStruct<R(A...)> { /* */ };
This is understandable: an explicit-specialization of SomeStruct
for function types with return type R
and arguments' types A
.
But consider this declaration (on next line):
template <typename R, typename... A>
struct SomeStruct<R(A......)> { /* */ };
What does that double-ellipsis mean?