Wiki Python Fr   ScxxIfichier UserPreferences
 
HelpContents FindPage Diffs Info Edit Subscribe XML Print View

Nommer le fichier scxx.i

%{
        #include "scxx/PWOBase.h"
        #include "scxx/PWOCallable.h"
        #include "scxx/PWOMapping.h"
        #include "scxx/PWONumber.h"
        #include "scxx/PWOMSequence.h"
        #include "scxx/PWOSequence.h"
%}


//*************************************************
//* Allocation des types des parametres d'entrees *
//*************************************************
%typemap(python,in) 
        const std::string,    std::string, 
        const string,         string, 
        const std::string &,  std::string &,  
        const string &,       string &
        {
                $1 = new std::string;
                $1->assign (PyString_AsString($input),PyString_Size($input));/*in string (voir dans scxx.i)1*/
        }

%typemap(python,in) const PWOList     &, PWOList     &, const PWOList,     PWOList     {$1 = new PWOList     ($input);/*in PWOList     (voir dans scxx.i)2*/}
%typemap(python,in) const PWOMapping  &, PWOMapping  &, const PWOMapping,  PWOMapping  {$1 = new PWOMapping  ($input);/*in PWOMapping  (voir dans scxx.i)3*/}
%typemap(python,in) const PWOTuple    &, PWOTuple    &, const PWOTuple,    PWOTuple    {$1 = new PWOTuple    ($input);/*in PWOTuple    (voir dans scxx.i)4*/}
%typemap(python,in) const PWOSequence &, PWOSequence &, const PWOSequence, PWOSequence {$1 = new PWOSequence ($input);/*in PWOSequence (voir dans scxx.i)5*/}
%typemap(python,in) const PWONumber   &, PWONumber   &, const PWONumber,   PWONumber   {$1 = new PWONumber   ($input);/*in PWONumber   (voir dans scxx.i)6*/}
%typemap(python,in) const PWOString   &, PWOString   &, const PWOString,   PWOString   {$1 = new PWOString   ($input);/*in PWOString   (voir dans scxx.i)7*/}
%typemap(python,in) const PWOBase     &, PWOBase     &, const PWOBase,     PWOBase     {$1 = new PWOBase     ($input);/*in PWOBase     (voir dans scxx.i)8*/}


//*************************************************
//* Liberation des types des parametres d'entrees *
//*************************************************
%typemap(python,freearg) 
        const std::string,   std::string , 
        const string,        string, 
        const std::string &, std::string &, 
        const string &,      string &, 
        const PWOList &,     PWOList &,     const PWOList,     PWOList,  
        const PWOMapping &,  PWOMapping &,  const PWOMapping,  PWOMapping, 
        const PWOTuple &,    PWOTuple &,    const PWOTuple,    PWOTuple, 
        const PWOSequence &, PWOSequence &, const PWOSequence, PWOSequence, 
        const PWONumber &,   PWONumber &,   const PWONumber,   PWONumber, 
        const PWOString &,   PWOString &,   const PWOString,   PWOString, 
        const PWOBase &,     PWOBase &,     const PWOBase,     PWOBase
        {
                delete $1;/*freearg (voir dans scxx.i)9*/
        }




//**************************************************
//* Allocation des types des parametres de sorties *
//**************************************************
%typemap(python,out) 
        const std::string &, std::string &, 
        const string &,      string &, 
        const PWOList &,     PWOList &,     
        const PWOMapping &,  PWOMapping &,  
        const PWOTuple &,    PWOTuple &,    
        const PWOSequence &, PWOSequence &, 
        const PWONumber &,   PWONumber &,   
        const PWOString &,   PWOString &,   
        const PWOBase &,     PWOBase &
        { 
                ERREUR // Le retour d'une commande ne doit pas etre par reference (voir dans scxx.i)
        }

%typemap(python,out) 
        const PWOList,       PWOList,  
        const PWOMapping,    PWOMapping, 
        const PWOTuple,      PWOTuple, 
        const PWOSequence,   PWOSequence, 
        const PWONumber,     PWONumber, 
        const PWOString,     PWOString, 
        const PWOBase,       PWOBase
        {
                $result = $1;/*out(voir dans scxx.i)10*/
                Py_XINCREF($result);
        }

%typemap(python,out) 
        const std::string,   std::string, 
        const string,        string
        {
                $result = PyString_FromStringAndSize($1.c_str(),$1.size());/*out string(voir dans scxx.i)11*/
        }




//**************************************************
//* Liberation des types des parametres de sorties *
//**************************************************
%typemap(python,ret) 
        const std::string &, std::string &, 
        const string &,      string &, 
        const PWOList &,     PWOList &,     
        const PWOMapping &,  PWOMapping &,  
        const PWOTuple &,    PWOTuple &,    
        const PWOSequence &, PWOSequence &, 
        const PWONumber &,   PWONumber &,   
        const PWOString &,   PWOString &,   
        const PWOBase &,     PWOBase &
        { 
                ERREUR // Le retour d'une commande ne doit pas etre par reference (voir dans scxx.i)
        }




PythonPowered