There may have some better way to do this but you can use like this
#define TUPLE(first,second) make_tuple(first,second),
#define TUPLE_LAST(first,second) make_tuple(first,second)
#define STATIC_DB(type,tuples) \
struct type{\
typedef tuple<int,double> value_type;\
static const value_type data[];\
};\
const type::value_type type::data[]=\
tuples;
STATIC_DB(
testdb1,
{
TUPLE(1, 1.1)
TUPLE(2, 2.2)
TUPLE(3, 3.3)
TUPLE_LAST(3, 3.3)
}
)
Formatted Output:
struct testdb1{
typedef tuple<int,double> value_type;
static const value_type data[];
};
const testdb1::value_type testdb1::data[]= {
make_tuple(1,1.1),
make_tuple(2,2.2),
make_tuple(3,3.3),
make_tuple(3,3.3)
};