Повторние кода шаблонов
От: na1s  
Дата: 15.08.09 06:50
Оценка:
Есть код, который работает с мапом туплов.
Нужно написать мапы для туплов от 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");
    }
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.