frepple::utils::PythonExtension< T > Class Template Reference

Template class to define Python extensions. More...

#include <pythonutils.h>

Inheritance diagram for frepple::utils::PythonExtension< T >:
frepple::utils::PythonExtensionBase frepple::utils::NonCopyable frepple::utils::FreppleCategory< PythonBuffer, Buffer > frepple::utils::FreppleCategory< PythonCalendar, Calendar > frepple::utils::FreppleCategory< PythonCustomer, Customer > frepple::utils::FreppleCategory< PythonDemand, Demand > frepple::utils::FreppleCategory< PythonItem, Item > frepple::utils::FreppleCategory< PythonLocation, Location > frepple::utils::FreppleCategory< PythonOperation, Operation > frepple::utils::FreppleCategory< PythonResource, Resource > frepple::utils::FreppleCategory< PythonSolver, Solver > frepple::utils::FreppleClass< PythonBufferDefault, PythonBuffer, BufferDefault > frepple::utils::FreppleClass< PythonBufferInfinite, PythonBuffer, BufferInfinite > frepple::utils::FreppleClass< PythonBufferProcure, PythonBuffer, BufferProcure > frepple::utils::FreppleClass< PythonCalendarBool, PythonCalendar, CalendarBool > frepple::utils::FreppleClass< PythonCalendarDouble, PythonCalendar, CalendarDouble > frepple::utils::FreppleClass< PythonCalendarInt, PythonCalendar, CalendarInt > frepple::utils::FreppleClass< PythonCalendarOperation, PythonCalendar, CalendarOperation > frepple::utils::FreppleClass< PythonCalendarString, PythonCalendar, CalendarString > frepple::utils::FreppleClass< PythonCalendarVoid, PythonCalendar, CalendarVoid > frepple::utils::FreppleClass< PythonCustomerDefault, PythonCustomer, CustomerDefault > frepple::utils::FreppleClass< PythonDemandDefault, PythonDemand, DemandDefault > frepple::utils::FreppleClass< PythonForecast, PythonDemand, Forecast > frepple::utils::FreppleClass< PythonForecastBucket, PythonDemand, ForecastBucket > frepple::utils::FreppleClass< PythonForecastSolver, PythonSolver, ForecastSolver > frepple::utils::FreppleClass< PythonItemDefault, PythonItem, ItemDefault > frepple::utils::FreppleClass< PythonLocationDefault, PythonLocation, LocationDefault > frepple::utils::FreppleClass< PythonLPSolver, PythonSolver, LPSolver > frepple::utils::FreppleClass< PythonOperationAlternate, PythonOperation, OperationAlternate > frepple::utils::FreppleClass< PythonOperationFixedTime, PythonOperation, OperationFixedTime > frepple::utils::FreppleClass< PythonOperationRouting, PythonOperation, OperationRouting > frepple::utils::FreppleClass< PythonOperationTimePer, PythonOperation, OperationTimePer > frepple::utils::FreppleClass< PythonResourceDefault, PythonResource, ResourceDefault > frepple::utils::FreppleClass< PythonResourceInfinite, PythonResource, ResourceInfinite > frepple::utils::FreppleClass< PythonSolverMRP, PythonSolver, SolverMRP >

List of all members.

Public Member Functions

 PythonExtension ()
virtual ~PythonExtension ()

Static Public Member Functions

static void deallocator (PyObject *o)
static PythonTypegetType ()

Static Protected Member Functions

static PyObject * toXML (PyObject *self, PyObject *args)

Detailed Description

template<class T>
class frepple::utils::PythonExtension< T >

Template class to define Python extensions.

The template argument should be your extension class, inheriting from this template class: class MyClass : PythonExtension<MyClass>

The structure of the C++ wrappers around the C Python API is heavily inspired on the design of PyCXX.
More information can be found on http://cxx.sourceforge.net

Definition at line 631 of file pythonutils.h.


Constructor & Destructor Documentation

template<class T>
frepple::utils::PythonExtension< T >::PythonExtension (  )  [inline, explicit]

Constructor.

Definition at line 635 of file pythonutils.h.

template<class T>
virtual frepple::utils::PythonExtension< T >::~PythonExtension (  )  [inline, virtual]

Destructor.

Definition at line 641 of file pythonutils.h.


Member Function Documentation

template<class T>
static void frepple::utils::PythonExtension< T >::deallocator ( PyObject *  o  )  [inline, static]

Free the memory.
See the note on the memory management in the class documentation for PythonExtensionBase.

Definition at line 669 of file pythonutils.h.

template<class T>
static PythonType& frepple::utils::PythonExtension< T >::getType (  )  [inline, static]

This method keeps the type information object for your extension.

Definition at line 644 of file pythonutils.h.

template<class T>
static PyObject* frepple::utils::PythonExtension< T >::toXML ( PyObject *  self,
PyObject *  args 
) [inline, static, protected]

Return an XML representation of the object.
If a file object is passed as argument, the representation is directly written to it.
If no argument is given the representation is returned as a string.

Definition at line 677 of file pythonutils.h.


The documentation for this class was generated from the following file:

Generated on 25 Feb 2010 for frePPLe by  doxygen 1.6.1