[C++-sig] [c++-sig] Making a Python tuple from a Boost.Fusion sequence
bruno.lalande at gmail.com
Fri Feb 27 17:08:38 CET 2009
The topic below was opened in the Boost development mailing list,
where it's been pointed out to me that it fits better here.
You can also read the thread archive:
---------- Forwarded message ----------
I have written a little function that converts any Boost.Fusion
sequence into a Python tuple (boost::python::tuple). If a sub-sequence
is nested in the sequence, the result will also be a nested tuple (for
instance, boost::make_tuple(0, std::make_pair(1, 2), 3) will give (0,
(1, 2), 3) in Python).
The source code is attached to this mail.
The principle is that any sequence previously adapted to Boost.Fusion
will become a tuple in Python. So, by including the right
boost/fusion/adapted/xxx header, one can convert a pair, a tuple, a
boost::array, and obviously any of the sequences provided by
Boost.Fusion. For example:
using namespace boost::python;
boost::make_tuple('a', 'b', 'c'),
In Python we get:
>>> import mymodule
(1, ('first', 'second'), 2, ('a', 'b', 'c'), 3)
Is there any interest in adding this function into Boost.Python? If
yes, I can write the doc and tests, clean the source and maybe improve
the implementation (for example, I feel that I could avoid the use of
m_iteration with a better use of Boost.Fusion...).
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1356 bytes
Desc: not available
More information about the Cplusplus-sig