РЕДАКТИРОВАТЬ - пожалуйста, игнорируйте - вопрос решен вокруг простой опечатки. Мне нужен перерыв.
Как мне получить ссылку на элемент вектора слияния буста?
В отличие от tuples::get<i>(variable)
файла boost.tuples (возвращает ссылку), fusion::at_c<i>(variable)
возвращает константу, и это вызывает у меня трудности.
Следующее иллюстрирует мою проблему
#include <iostream>
#include <boost/tuple/tuple.hpp>
#include <boost/fusion/include/vector.hpp>
#include <boost/fusion/include/at.hpp>
using namespace boost;
int
main (int ac, char **av)
{
fusion::vector<int, char, std::string> vec(1, 'x', "howdy");
tuples::tuple <int, char, std::string> tup(1, 'x', "howdy");
std::cout<< fusion::at_c<0>(vec)<<std::endl; //outputs 1
std::cout<< tuples::get<0> (tup) <<std::endl; //outputs 1
//fusion::at<0>(vec) = 2; //doesn't compile
tuples::get<0>(tup) = 2; //works fine
std::cout<< fusion::at_c<0>(vec) <<std::endl; //can't make this output 2.
std::cout<< tuples::get<0> (tup) <<std::endl; //outputs 2
}