Start vector management

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-sploving@12945 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Vincent Couvert 2012-03-22 11:10:34 +00:00
commit eb64659740
27 changed files with 3908 additions and 267 deletions

View file

@ -1,22 +1,14 @@
/*
* POINTER
*/
%fragment(SWIG_AsPtr_frag(std::string), "header", fragment="SwigScilabStringToString") {
#define SWIG_AsPtr_std_string(scilabValue, stringPointer) SwigScilabStringToString(pvApiCtx, scilabValue, stringPointer, fname)
}
%fragment(SWIG_From_frag(std::string), "header", fragment="SwigScilabStringFromString") {
#define SWIG_From_std_string(stringPointer) SwigScilabStringFromString(pvApiCtx, $result, stringPointer)
}
%fragment("SwigScilabStringToString", "header", fragment="SwigScilabStringToCharPtrAndSize") {
%fragment(SWIG_AsPtr_frag(std::string), "header", fragment="SwigScilabStringToCharPtrAndSize") {
SWIGINTERN int
SwigScilabStringToString(void *_pvApiCtx, int _iVar, std::string **_pstValue, char *_fname) {
SWIG_AsPtr_dec(std::string)(int _iVar, std::string **_pstValue) {
char* buf = 0;
size_t size = 0;
int alloc = SWIG_OLDOBJ;
if (SWIG_IsOK((SwigScilabStringToCharPtrAndSize(_pvApiCtx, _iVar, &buf, &size, &alloc, _fname)))) {
if (SWIG_IsOK((SwigScilabStringToCharPtrAndSize(pvApiCtx, _iVar, &buf, &size, &alloc, SWIG_Scilab_GetFname())))) {
if (buf) {
if (_pstValue) {
*_pstValue = new std::string(buf, size);
@ -37,10 +29,10 @@ SwigScilabStringToString(void *_pvApiCtx, int _iVar, std::string **_pstValue, ch
}
}
%fragment("SwigScilabStringFromString", "header", fragment="SwigScilabStringFromCharPtrAndSize") {
%fragment(SWIG_From_frag(std::string), "header", fragment="SwigScilabStringFromCharPtrAndSize") {
SWIGINTERN int
SwigScilabStringFromString(void *_pvApiCtx, int _iVarOut, std::string _pstValue) {
return SwigScilabStringFromCharPtrAndSize(_pvApiCtx, _iVarOut, _pstValue.c_str());
SWIG_From_dec(std::string)(std::string _pstValue) {
return SwigScilabStringFromCharPtrAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), _pstValue.c_str());
}
}