[C++-sig] Boost tuple example? (original) (raw)
Matt mjkeyes at sbcglobal.net
Fri Dec 9 05:58:27 CET 2005
- Previous message: [C++-sig] Boost tuple example?
- Next message: [C++-sig] Boost tuple example?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Basically, I'm wanting to be able to build a Python list object in C++ and pass it into Python.
Similarly, I'd like to be able to receive one of these list objects back from Python and be able to extract values from it in C++.
I'm sure this is a simple operation, and (since these are simple types) it looks like I can do the following (thanks Ralf for the pointer to the test directory):
void SetValues(handle <> hObject) { object oObj(hObject);
tuple Values("value 1", 2, 3.0);
//call a python function to set the values, etc... in oObj
}
void GetValues(handle <>hObject) { object oObj(hObject); tuple oValues; //call Python function to retrieve a tuple object into oValues //not quite sure what this would look like - i know //tuple is an object, but should i try/catch a call to a python //function into a tuple variable?
try
{
const char * szVal = extract<const char *>(oValues[0]);
int nVal = extract<int>(oValues[1]);
double nDblVal = extract<double>(oValues[2]);
}
catch(...)
{
PyErr_Print();
}
}
Does that seem reasonable?
Also, is there an easy way to determine the length of a tuple in C++?
Thanks again you guys, Matt
"David Abrahams" <dave at boost-consulting.com> wrote in message news:uu0dj5qms.fsf at boost-consulting.com...
"Ralf W. Grosse-Kunstleve" <rwgk at yahoo.com> writes:
--- Matt <mjkeyes at sbcglobal.net> wrote:
Does anyone have an example of boost's use of tuples? For example, I am wanting to construct tuples in C++ and pass them on to Python (these will consist of basic types (const char*'s, integers, etc.) or object values. Look in the file: boost/libs/python/test/tuple.cpp You can probably learn a lot of tricks by spending 30 minutes to scan through all the *.cpp files in the boost/libs/python/test directory. I read the OP as asking about how to translate boost::tuple, a completely C++ generalization of std::pair (rather than boost::python::tuple, a wrapper for native Python tuples) to/from Python's tuples. Which is it? -- Dave Abrahams Boost Consulting www.boost-consulting.com
- Previous message: [C++-sig] Boost tuple example?
- Next message: [C++-sig] Boost tuple example?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]