This class handles two-way translation between the data types in C++ and Python. More...
#include <utils.h>

Public Member Functions | |
bool | check (const MetaClass *c) const |
bool | check (const PythonType &c) const |
bool | getBool () const |
Date | getDate () const |
double | getDouble () const |
int | getInt () const |
long | getLong () const |
string | getString () const |
TimePeriod | getTimeperiod () const |
unsigned long | getUnsignedLong () const |
operator bool () const | |
operator PyObject * () const | |
PythonObject & | operator= (const PythonObject &o) |
PythonObject () | |
PythonObject (const PyObject *o) | |
PythonObject (Object *p) | |
PythonObject (const string &val) | |
PythonObject (const double val) | |
PythonObject (const int val) | |
PythonObject (const long val) | |
PythonObject (const unsigned long val) | |
PythonObject (const bool val) | |
PythonObject (const TimePeriod val) | |
PythonObject (const Date &val) |
Detailed Description
This class handles two-way translation between the data types in C++ and Python.
This class is basically a wrapper around a PyObject pointer.
When creating a PythonObject from a C++ object, make sure to increment the reference count of the object.
When constructing a PythonObject from an existing Python object, the code that provided us the PyObject pointer should have incremented the reference count already.
Constructor & Destructor Documentation
frepple::utils::PythonObject::PythonObject | ( | ) | [inline, explicit] |
frepple::utils::PythonObject::PythonObject | ( | const PyObject * | o | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | Object * | p | ) |
Constructor from a pointer to an Object.
The metadata of the Object instances allow us to create a Python object that works as a proxy for the C++ object.
Definition at line 425 of file pythonutils.cpp.
frepple::utils::PythonObject::PythonObject | ( | const string & | val | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | const double | val | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | const int | val | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | const long | val | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | const unsigned long | val | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | const bool | val | ) | [inline] |
frepple::utils::PythonObject::PythonObject | ( | const TimePeriod | val | ) | [inline] |
Convert a frePPLe TimePeriod into a Python number representing the number of seconds.
frepple::utils::PythonObject::PythonObject | ( | const Date & | val | ) |
Convert a frePPLe date into a Python datetime.datetime object.
Definition at line 368 of file pythonutils.cpp.
Member Function Documentation
bool frepple::utils::PythonObject::check | ( | const MetaClass * | c | ) | const [inline] |
bool frepple::utils::PythonObject::check | ( | const PythonType & | c | ) | const [inline] |
bool frepple::utils::PythonObject::getBool | ( | ) | const [inline, virtual] |
Convert a Python number into a C++ bool.
Reimplemented from frepple::utils::DataElement.
Date frepple::utils::PythonObject::getDate | ( | ) | const [virtual] |
Convert a Python datetime.date or datetime.datetime object into a frePPLe date.
Reimplemented from frepple::utils::DataElement.
Definition at line 390 of file pythonutils.cpp.
double frepple::utils::PythonObject::getDouble | ( | ) | const [inline, virtual] |
Convert a Python number or string into a C++ double.
Reimplemented from frepple::utils::DataElement.
int frepple::utils::PythonObject::getInt | ( | ) | const [inline, virtual] |
Convert a Python number or string into a C++ integer.
Reimplemented from frepple::utils::DataElement.
long frepple::utils::PythonObject::getLong | ( | ) | const [inline, virtual] |
Convert a Python number into a C++ long.
Reimplemented from frepple::utils::DataElement.
string frepple::utils::PythonObject::getString | ( | ) | const [inline, virtual] |
Convert a Python string into a C++ string.
Reimplemented from frepple::utils::DataElement.
TimePeriod frepple::utils::PythonObject::getTimeperiod | ( | ) | const [inline, virtual] |
Convert a Python number as a number of seconds into a frePPLe TimePeriod.
A TimePeriod is represented as a number of seconds in Python.
Reimplemented from frepple::utils::DataElement.
unsigned long frepple::utils::PythonObject::getUnsignedLong | ( | ) | const [inline, virtual] |
Extract an unsigned long from the Python object.
Reimplemented from frepple::utils::DataElement.
frepple::utils::PythonObject::operator bool | ( | ) | const [inline, virtual] |
Check for null value.
Reimplemented from frepple::utils::DataElement.
Reimplemented in frepple::utils::PythonFunction.
frepple::utils::PythonObject::operator PyObject * | ( | ) | const [inline] |
PythonObject& frepple::utils::PythonObject::operator= | ( | const PythonObject & | o | ) | [inline] |
The documentation for this class was generated from the following files:
Documentation generated for frePPLe by
