Начало работы с boost mpl с вектором и push_back

Я слишком долго чесал голову, мне очень трудно использовать MPL, и я надеюсь, что кто-нибудь может заставить меня начать. Вот некоторые частичный код из класса, который я разрабатываю, который не использует MPL. В конце концов я хочу реализовать этот класс во время компиляции. Этот код, вероятно, не имеет смысла, но я не хочу, чтобы все решения в MPL — надеюсь, я смогу достичь этого сам (см. Ниже для конкретной помощи).

class define_cell_type{
public:
define_cell_type () = default;
define_cell_type (const std::string& name_of_cell) :
cName {name_of_cell} {};

double& add_variable (const std::string& Name,
const double& init_value,
VARIABLE declr_type = VARIABLE::STATIC_V)
{
vInit_val.push_back(init_value);
vData.push_back( std::make_tuple(Name) );
return vInit_val.back();
};

private:
std::string cName;
std::vector<double> vInit_val;
std::vector<variable_tuple> vData;
};

Чтобы начать, как мне сделать push_back для mpl :: vector типа double? Вот пример, который я хочу начать с аналогичной функции в классе, который я разрабатываю.

std::vector<double> state;
double& add_variable ( const double& init_val)
{
state.push_back(init_val);
return state.back();
}

int main() {
auto var1 = add_variable (12.2);
auto var2 = add_variable (1.2);
auto var2 = add_variable (6.4);
}

Все, что я могу получить, это что-то вроде этого

typedef mpl::vector<double> state;
typedef mpl::push_back<state,double>::type types;

Я был бы признателен, если бы кто-то начал меня, чтобы получить вектор времени компиляции со значениями, возвращающими пример выше

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector