Есть код, который работает с мапом туплов.
Нужно написать мапы для туплов от 1 до 5 параметров.
Т.е. из кода ниже надо менять только typedef Tuple <T1> keys на typedef Tuple <T1,T2> keys, и так до 5 параметров.
Как-нибудь можно избавиться от лишнего copy-paste?
#include "tuple.h"
#include <map>
template<typename T1,typename TRes>
class tuples_map
{
typedef Tuple<T1> keys;
public:
tuples_map()
:initialized(false){
}
private:
keys current_key;
bool initialized;
std::map<keys,TRes> tupled_map;
public:
//примерные методы работы с мапом
void setKey(keys const & key)
{
initialized=true;
current_key=key;
}
void addData(TRes data)
{
if (initialized)
tupled_map[current_key]=data;
else
throw range_error("map hasn't been setted key");
}
};