You can use boost::fusion::get or boost::fusion::at:
#define FUSION_MAX_VECTOR_SIZE 26
#include <string>
#include <iostream>
#include <boost/fusion/tuple.hpp>
#include <boost/smart_ptr.hpp>
#include <boost/fusion/include/at.hpp>
#include <boost/mpl/int.hpp>
typedef boost::fusion::tuple<double,double,double,std::string,double,double,int,
double,double,double,double,int,
double,double,double,double,double,
double,double,double,double,double,
double,double,double,double> tuple_def;
typedef boost::shared_ptr<tuple_def> shared_tuple_def;
int main() {
shared_tuple_def btuple =
boost::make_shared<tuple_def>(
boost::fusion::make_tuple(
323,0,0,"A",0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0));
std::cout << boost::fusion::get<0>(*btuple) << "\n";
std::cout << boost::fusion::at<boost::mpl::int_<0> >(*btuple) << "\n";
}