I've tried a few approaches, only to have them fail miserably for various reasons.
Here is my code for the tuple:
// undefined tuple
template<typename... T>
class tuple;
// empty tuple
template< >
class tuple< > { };
template<typename U, typename... T>
class tuple<U, T...>
{
public:
tuple () {};
tuple (U& f, T&... r);
U first_;
tuple<T...> rest_;
};
template<typename U, typename... T>
tuple<U, T...>::tuple (U& f, T&... r)
{
first_ = f;
rest_ = tuple<T...> (r...);
}
I am not interested in using the stl tuple, I am just interested in learning how to use variadic templates.
Thanks for any help!