library: libPyROOT #include "TPyReturn.h"

# TPyReturn

class description - source file - inheritance tree (.pdf)

## class TPyReturn : public TObject

| Inheritance Chart:

`TObject`

<-

`TPyReturn`

        private:

                     TPyReturn(const TPyReturn&)
                void autoDestruct() const
          TPyReturn& operator=(const TPyReturn&)

        public:

                          TPyReturn()
                          TPyReturn(PyObject* obj, TClass* cls)
                  virtual ~TPyReturn()
          virtual TClass* IsA() const
                    char* operator const char*() const
                   double operator double() const
                    float operator float() const
                      int operator int() const
                     long operator long() const
                 TObject* operator TObject*() const

### Data Members

        private:

          PyObject* m_object  python side object
            TClass* m_class   TClass of held object if ROOT object

## Class Description

                            Python expression eval result
                            =============================

     Transport class for bringing objects from python (dynamically typed) to CINT
     (statically typed). Upon cast to another value, either implicitly (builtin
     types) or explicitly (pointers to ROOT objects), the TPyReturn object goes
     out of existence. For this reason, it can not be copied and it should not
     be held by reference.

void autoDestruct() const

     Private harakiri method.

TPyReturn() : m_class( 0 )

     Construct a TPyReturn object from Py_None.

TPyReturn( PyObject* obj, TClass* cls ) : m_object( obj ), m_class( cls )

     Construct a TPyReturn from a python object. If the python object holds on to
     a ROOT object, the TClass should be given. Reference counting for the python
     object is in effect.

TPyReturn( const TPyReturn& s ) : TObject( s )

     Private copy constructor; throws if called.

~TPyReturn()

     Destructor. Reference counting for the held python object is in effect.

TClass* IsA() const

     Return the held object TClass (not the TPyReturn TClass).

### Inline Functions

                 char* operator const char*() const
                  long operator long() const
                   int operator int() const
                double operator double() const
                 float operator float() const
              TObject* operator TObject*() const
            TPyReturn& operator=(const TPyReturn&)

Author: Wim Lavrijsen, May 2004
Last update: Thu Aug 12 15:45:02 2004