replacing SWIGSTATIC(a) by SWIGINTERN a

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6290 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-10-02 20:15:46 +00:00
commit e46c80edf8
14 changed files with 81 additions and 81 deletions

View file

@ -4,7 +4,7 @@
%fragment("SWIG_AsArgcArgv","header",
fragment="SWIG_AsCharPtr") %{
SWIGSTATIC(char**)
SWIGINTERN char**
SWIG_AsArgcArgv(PyObject* input,
swig_type_info* ppchar_info,
size_t* argc, int* owner)

View file

@ -9,7 +9,7 @@
/* defining basic methods */
%fragment("SWIG_AsValFilePtr","header") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsValFilePtr(PyObject *obj, FILE **val) {
static swig_type_info* desc = 0;
FILE *ptr = 0;
@ -28,7 +28,7 @@ SWIG_AsValFilePtr(PyObject *obj, FILE **val) {
}
%fragment("SWIG_AsFilePtr","header",fragment="SWIG_AsValFilePtr") {
SWIGSTATICINLINE(FILE*)
SWIGINTERNSHORT FILE*
SWIG_AsFilePtr(PyObject *obj) {
FILE *val = 0;
SWIG_AsValFilePtr(obj, &val);
@ -37,7 +37,7 @@ SWIG_AsFilePtr(PyObject *obj) {
}
%fragment("SWIG_CheckFilePtr","header",fragment="SWIG_AsValFilePtr") {
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_CheckFilePtr(PyObject *obj) {
return SWIG_AsValFilePtr(obj, (FILE **)(0));
}

View file

@ -2,6 +2,22 @@
extern "C" {
#endif
/* -----------------------------------------------------------------------------
* for internal method declarations
* ----------------------------------------------------------------------------- */
#ifndef SWIGINTERN
#define SWIGINTERN static
#endif
#ifndef SWIGINTERNSHORT
#ifdef __cplusplus
#define SWIGINTERNSHORT static inline
#else /* C case */
#define SWIGINTERNSHORT static
#endif /* __cplusplus */
#endif
/* -----------------------------------------------------------------------------
* SWIG API.
* ----------------------------------------------------------------------------- */
@ -104,7 +120,7 @@ typedef struct swig_const_info {
/* -----------------------------------------------------------------------------
* Lookup type pointer
* ----------------------------------------------------------------------------- */
static void
SWIGINTERN void
SWIG_Python_LookupTypePointer(swig_type_info ***type_list_handle) {
PyObject *module, *pointer;
void *type_pointer;

View file

@ -11,7 +11,7 @@
%define %swig_fromcplx_conv(Type, Real, Imag)
%fragment(SWIG_From_frag(Type),"header")
%{
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(Type)(SWIG_cplusplus(const Type&, Type) c)
{
return PyComplex_FromDoubles(Real(c), Imag(c));
@ -24,7 +24,7 @@ SWIGSTATICINLINE(PyObject*)
%fragment(SWIG_AsVal_frag(Type),"header",
fragment=SWIG_AsVal_frag(double))
%{
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(Type) (PyObject *o, Type* val)
{
if (PyComplex_Check(o)) {
@ -55,7 +55,7 @@ SWIGSTATICINLINE(int)
fragment="SWIG_CheckDoubleInRange",
fragment=SWIG_AsVal_frag(float))
%{
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(Type)(PyObject *o, Type *val)
{
const char* errmsg = val ? #Type : 0;

View file

@ -7,7 +7,7 @@
For example, if you add:
%fragment(SWIG_AsVal_frag(int),"header") {
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_AsVal(int)(PyObject *obj, int *val)
{
<your code here>;

View file

@ -1,22 +1,3 @@
%{
/* -----------------------------------------------------------------------------
* Auxiliar swig macros that appear in the header
* ----------------------------------------------------------------------------- */
/*
for internal method declarations
*/
#ifdef __cplusplus
#define SWIGSTATICINLINE(a) static inline a
#define SWIGSTATIC(a) static a
#else /* C case */
#define SWIGSTATICINLINE(a) static a
#define SWIGSTATIC(a) static a
#endif /* __cplusplus */
%}
/* -----------------------------------------------------------------------------
* Auxiliar swig macros used to write typemaps
* ----------------------------------------------------------------------------- */

View file

@ -49,7 +49,7 @@
%}
%fragment(SWIG_AsVal_frag(unsigned long),"header") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(unsigned long)(PyObject *obj, unsigned long *val)
{
if (PyInt_Check(obj)) {
@ -78,7 +78,7 @@ SWIGSTATICINLINE(int)
%fragment("SWIG_CheckLongInRange","header",
fragment="<limits.h>") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_CheckLongInRange(long value, long min_value, long max_value,
const char *errmsg)
{
@ -103,7 +103,7 @@ SWIGSTATICINLINE(int)
%fragment("SWIG_CheckUnsignedLongInRange","header",
fragment="<limits.h>") {
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_CheckUnsignedLongInRange(unsigned long value,
unsigned long max_value,
const char *errmsg)
@ -122,7 +122,7 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_AsVal_frag(double),"header") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(double)(PyObject *obj, double *val)
{
if (PyFloat_Check(obj)) {
@ -151,7 +151,7 @@ SWIGSTATICINLINE(int)
}
%fragment(SWIG_AsVal_frag(long),"header") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(long)(PyObject * obj, long* val)
{
if (PyInt_Check(obj)) {
@ -178,7 +178,7 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_From_frag(long long),"header",
fragment="<limits.h>") {
SWIGSTATICINLINE(PyObject* )
SWIGINTERNSHORT PyObject*
SWIG_From(long long)(long long value)
{
return ((value < LONG_MIN) || (value > LONG_MAX)) ?
@ -190,7 +190,7 @@ SWIGSTATICINLINE(PyObject* )
%fragment(SWIG_From_frag(unsigned long long),"header",
fragment="<limits.h>") {
SWIGSTATICINLINE(PyObject* )
SWIGINTERNSHORT PyObject*
SWIG_From(unsigned long long)(unsigned long long value)
{
return (value > LONG_MAX) ?
@ -200,7 +200,7 @@ SWIGSTATICINLINE(PyObject* )
}
%fragment(SWIG_AsVal_frag(long long),"header") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(long long)(PyObject *obj, long long *val)
{
if (PyLong_Check(obj)) {
@ -226,7 +226,7 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_AsVal_frag(unsigned long long),"header",
fragment=SWIG_AsVal_frag(unsigned long)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(unsigned long long)(PyObject *obj, unsigned long long *val)
{
if (PyLong_Check(obj)) {
@ -254,7 +254,7 @@ SWIGSTATICINLINE(int)
}
%fragment(SWIG_From_frag(unsigned long),"header") {
SWIGSTATICINLINE(PyObject* )
SWIGINTERNSHORT PyObject*
SWIG_From(unsigned long)(unsigned long value)
{
return (value > LONG_MAX) ?
@ -266,7 +266,7 @@ SWIGSTATICINLINE(PyObject* )
%fragment(SWIG_AsVal_frag(signed char),"header",
fragment="SWIG_CheckLongInRange",
fragment=SWIG_AsVal_frag(long)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(signed char)(PyObject *obj, signed char *val)
{
const char* errmsg = val ? "signed char" : 0;
@ -291,7 +291,7 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_AsVal_frag(short),"header",
fragment="SWIG_CheckLongInRange",
fragment=SWIG_AsVal_frag(long)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(short)(PyObject *obj, short *val)
{
const char* errmsg = val ? "short" : 0;
@ -319,7 +319,7 @@ SWIGSTATICINLINE(int)
fragment="SWIG_CheckLongInRange",
fragment=SWIG_AsVal_frag(long)) {
%#if INT_MAX != LONG_MAX
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(int)(PyObject *obj, int *val)
{
const char* errmsg = val ? "int" : 0;
@ -340,7 +340,7 @@ SWIGSTATICINLINE(int)
return 0;
}
%#else
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_AsVal(int)(PyObject *obj, int *val)
{
return SWIG_AsVal(long)(obj,(long*)val);
@ -352,7 +352,7 @@ SWIGSTATICINLINE(int)
fragment="SWIG_CheckUnsignedLongInRange",
fragment=SWIG_AsVal_frag(unsigned long)) {
%#if UINT_MAX != ULONG_MAX
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(unsigned int)(PyObject *obj, unsigned int *val)
{
const char* errmsg = val ? "unsigned int" : 0;
@ -371,7 +371,7 @@ SWIGSTATICINLINE(int)
return 0;
}
%#else
SWIGSTATICINLINE(unsigned int)
SWIGINTERNSHORT unsigned int
SWIG_AsVal(unsigned int)(PyObject *obj, unsigned int *val)
{
return SWIG_AsVal(unsigned long)(obj,(unsigned long *)val);
@ -392,7 +392,7 @@ SWIG_define(SWIG_From(unsigned int), SWIG_From(unsigned long))
%fragment(SWIG_AsVal_frag(unsigned char),"header",
fragment=SWIG_AsVal_frag(unsigned long),
fragment="SWIG_CheckUnsignedLongInRange") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(unsigned char)(PyObject *obj, unsigned char *val)
{
const char* errmsg = val ? "unsigned char" : 0;
@ -417,7 +417,7 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_AsVal_frag(unsigned short),"header",
fragment="SWIG_CheckUnsignedLongInRange",
fragment=SWIG_AsVal_frag(unsigned long)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(unsigned short)(PyObject *obj, unsigned short *val)
{
const char* errmsg = val ? "unsigned short" : 0;
@ -442,7 +442,7 @@ SWIGSTATICINLINE(int)
%fragment("SWIG_CheckDoubleInRange","header") {
%#include <float.h>
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_CheckDoubleInRange(double value, double min_value,
double max_value, const char* errmsg)
{
@ -468,7 +468,7 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_AsVal_frag(float),"header",
fragment="SWIG_CheckDoubleInRange",
fragment=SWIG_AsVal_frag(double)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(float)(PyObject *obj, float *val)
{
const char* errmsg = val ? "float" : 0;
@ -491,7 +491,7 @@ SWIGSTATICINLINE(int)
}
%fragment(SWIG_From_frag(char),"header") {
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(char)(char c)
{
return PyString_FromStringAndSize(&c,1);
@ -502,7 +502,7 @@ SWIGSTATICINLINE(PyObject*)
fragment="SWIG_AsCharArray",
fragment="SWIG_CheckLongInRange",
fragment=SWIG_AsVal_frag(long)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(char)(PyObject *obj, char *val)
{
const char* errmsg = val ? "char" : 0;
@ -522,7 +522,7 @@ SWIGSTATICINLINE(int)
}
%fragment(SWIG_From_frag(wchar_t),"header") {
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(wchar_t)(wchar_t c)
{
return PyUnicode_FromWideChar(&c, 1);
@ -534,7 +534,7 @@ SWIGSTATICINLINE(PyObject*)
fragment="SWIG_CheckLongInRange",
fragment=SWIG_AsVal_frag(long)) {
#include <wchar.h>
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(wchar_t)(PyObject *obj, wchar_t *val)
{
const char* errmsg = val ? "wchar_t" : 0;
@ -554,7 +554,7 @@ SWIGSTATICINLINE(int)
}
%fragment(SWIG_From_frag(bool),"header") {
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(bool)(bool value)
{
PyObject *obj = value ? Py_True : Py_False;
@ -565,7 +565,7 @@ SWIGSTATICINLINE(PyObject*)
%fragment(SWIG_AsVal_frag(bool),"header",
fragment=SWIG_AsVal_frag(int)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(bool)(PyObject *obj, bool *val)
{
/* if (val) *val = PyObject_IsTrue(obj); return 1; */

View file

@ -104,7 +104,7 @@
%define %typemap_asptrfrom(CheckCode, AsPtrMeth, FromMeth, AsPtrFrag, FromFrag, ...)
%fragment(SWIG_AsVal_frag(__VA_ARGS__),"header",
fragment=SWIG_AsPtr_frag(__VA_ARGS__)) %{
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_AsVal(__VA_ARGS__)(PyObject* obj, __VA_ARGS__ *val)
{
__VA_ARGS__ *v = (__VA_ARGS__ *)0;
@ -119,7 +119,7 @@
%}
%fragment(SWIG_As_frag(__VA_ARGS__),"header",
fragment=SWIG_AsVal_frag(__VA_ARGS__)) %{
SWIGSTATICINLINE(__VA_ARGS__)
SWIGINTERNSHORT __VA_ARGS__
SWIG_As(__VA_ARGS__)(PyObject* obj)
{
__VA_ARGS__ v;

View file

@ -6,7 +6,7 @@
%types(char *);
%fragment("SWIG_AsCharPtrAndSize","header") %{
/* returns SWIG_OLDOBJ if the input is a raw char*, SWIG_PYSTR if is a PyString */
SWIGSTATIC(int)
SWIGINTERN int
SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize)
{
static swig_type_info* pchar_info = 0;
@ -37,7 +37,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize)
%fragment("SWIG_AsCharPtr","header",
fragment="SWIG_AsCharPtrAndSize") %{
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_AsCharPtr(PyObject *obj, char **val)
{
char* cptr = 0;
@ -53,7 +53,7 @@ SWIG_AsCharPtr(PyObject *obj, char **val)
%}
%fragment("SWIG_FromCharPtr","header") %{
SWIGSTATICINLINE(PyObject *)
SWIGINTERN PyObject *
SWIG_FromCharPtr(const char* cptr)
{
if (cptr) {
@ -76,7 +76,7 @@ SWIG_FromCharPtr(const char* cptr)
%fragment("SWIG_AsNewCharPtr","header",
fragment="SWIG_AsCharPtrAndSize") %{
SWIGSTATIC(int)
SWIGINTERN int
SWIG_AsNewCharPtr(PyObject *obj, char **val)
{
char* cptr = 0; size_t csize = 0;
@ -105,7 +105,7 @@ SWIG_AsNewCharPtr(PyObject *obj, char **val)
%fragment("SWIG_AsCharArray","header",
fragment="SWIG_AsCharPtrAndSize") %{
SWIGSTATIC(int)
SWIGINTERN int
SWIG_AsCharArray(PyObject *obj, char *val, size_t size)
{
char* cptr; size_t csize;
@ -135,7 +135,7 @@ SWIG_AsCharArray(PyObject *obj, char *val, size_t size)
%}
%fragment("SWIG_FromCharArray","header") {
SWIGSTATICINLINE(PyObject *)
SWIGINTERNSHORT PyObject *
SWIG_FromCharArray(const char* carray, size_t size)
{
if (size > INT_MAX) {

View file

@ -5,7 +5,8 @@
*/
%fragment("t_output_helper","header") %{
static PyObject* t_output_helper(PyObject* target, PyObject* o) {
SWIGINTERN PyObject*
t_output_helper(PyObject* target, PyObject* o) {
if (!target) {
target = o;
} else if (target == Py_None) {

View file

@ -116,7 +116,7 @@
%define %typemap_asvaln(CheckCode, ...)
%fragment(SWIG_As_frag(__VA_ARGS__),"header",
fragment=SWIG_AsVal_frag(__VA_ARGS__)) %{
SWIGSTATICINLINE(__VA_ARGS__)
SWIGINTERNSHORT __VA_ARGS__
SWIG_As(__VA_ARGS__)(PyObject* obj)
{
__VA_ARGS__ v;
@ -133,7 +133,7 @@ SWIG_As(__VA_ARGS__)(PyObject* obj)
%}
%fragment(SWIG_Check_frag(__VA_ARGS__),"header",
fragment=SWIG_AsVal_frag(__VA_ARGS__)) %{
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_Check(__VA_ARGS__)(PyObject* obj)
{
return SWIG_AsVal(__VA_ARGS__)(obj, (__VA_ARGS__*)0);

View file

@ -4,7 +4,7 @@
* ------------------------------------------------------------ */
%fragment("SWIG_AsWCharPtrAndSize","header") %{
SWIGSTATIC(int)
SWIGINTERN int
SWIG_AsWCharPtrAndSize(PyObject *obj, wchar_t **cptr, size_t *psize)
{
static swig_type_info* pwchar_info = 0;
@ -41,7 +41,7 @@ SWIG_AsWCharPtrAndSize(PyObject *obj, wchar_t **cptr, size_t *psize)
%fragment("SWIG_AsWCharPtr","header",
fragment="SWIG_AsWCharPtrAndSize") %{
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsWCharPtr(PyObject *obj, wchar_t **val)
{
wchar_t * cptr = 0;
@ -58,7 +58,7 @@ SWIG_AsWCharPtr(PyObject *obj, wchar_t **val)
%}
%fragment("SWIG_FromWCharPtr","header") %{
SWIGSTATICINLINE(PyObject *)
SWIGINTERN PyObject *
SWIG_FromWCharPtr(const wchar_t * cptr)
{
if (cptr) {
@ -77,7 +77,7 @@ SWIG_FromWCharPtr(const wchar_t * cptr)
%fragment("SWIG_AsNewWCharPtr","header",
fragment="SWIG_AsWCharPtrAndSize") %{
SWIGSTATIC(int)
SWIGINTERN int
SWIG_AsNewWCharPtr(PyObject *obj, wchar_t **val)
{
wchar_t * cptr = 0; size_t csize = 0;
@ -106,7 +106,7 @@ SWIG_AsNewWCharPtr(PyObject *obj, wchar_t **val)
%fragment("SWIG_AsWCharArray","header",
fragment="SWIG_AsWCharPtrAndSize") %{
SWIGSTATIC(int)
SWIGINTERN int
SWIG_AsWCharArray(PyObject *obj, wchar_t *val, size_t size)
{
wchar_t * cptr; size_t csize;
@ -130,7 +130,7 @@ SWIG_AsWCharArray(PyObject *obj, wchar_t *val, size_t size)
%}
%fragment("SWIG_FromWCharArray","header") %{
SWIGSTATICINLINE(PyObject *)
SWIGINTERNSHORT PyObject *
SWIG_FromWCharArray(const wchar_t * carray, size_t size)
{
if (size > INT_MAX) {

View file

@ -27,7 +27,7 @@ namespace std
%fragment(SWIG_AsPtr_frag(std::basic_string<char>),"header",
fragment="SWIG_AsCharPtrAndSize") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsPtr(std::basic_string<char>)(PyObject* obj, std::string **val)
{
static swig_type_info* string_info = SWIG_TypeQuery("std::string *");
@ -53,7 +53,7 @@ namespace std
}
}
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_AsPtr(std::string)(PyObject* obj, std::string **val)
{
return SWIG_AsPtr(std::basic_string<char>)(obj, val);
@ -62,12 +62,13 @@ namespace std
%fragment(SWIG_From_frag(std::basic_string<char>),"header",
fragment="SWIG_FromCharArray") {
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(std::basic_string<char>)(const std::string& s)
{
return SWIG_FromCharArray(s.data(), s.size());
}
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(std::string)(const std::string& s)
{
return SWIG_From(std::basic_string<char>)(s);
@ -77,7 +78,7 @@ SWIGSTATICINLINE(PyObject*)
%fragment(SWIG_AsVal_frag(std::string),"header",
fragment=SWIG_AsPtr_frag(std::basic_string<char>)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(std::string)(PyObject* obj, std::string *val)
{
std::string* s;

View file

@ -13,7 +13,7 @@ namespace std
%fragment(SWIG_AsPtr_frag(std::basic_string<wchar_t>),"header",
fragment="SWIG_AsWCharPtrAndSize") {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsPtr(std::basic_string<wchar_t>)(PyObject* obj, std::wstring **val)
{
static swig_type_info* string_info = SWIG_TypeQuery("std::wstring *");
@ -41,7 +41,7 @@ SWIGSTATICINLINE(int)
}
}
SWIGSTATICINLINE(int)
SWIGINTERNSHORT int
SWIG_AsPtr(std::wstring)(PyObject* obj, std::wstring **val)
{
return SWIG_AsPtr(std::basic_string<wchar_t>)(obj, val);
@ -50,12 +50,13 @@ SWIGSTATICINLINE(int)
%fragment(SWIG_From_frag(std::basic_string<wchar_t>),"header",
fragment="SWIG_FromWCharArray") {
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(std::basic_string<wchar_t>)(const std::wstring& s)
{
return SWIG_FromWCharArray(s.data(), s.size());
}
SWIGSTATICINLINE(PyObject*)
SWIGINTERNSHORT PyObject*
SWIG_From(std::wstring)(const std::wstring& s)
{
return SWIG_From(std::basic_string<wchar_t>)(s);
@ -65,7 +66,7 @@ SWIGSTATICINLINE(PyObject*)
%fragment(SWIG_AsVal_frag(std::wstring),"header",
fragment=SWIG_AsPtr_frag(std::basic_string<wchar_t>)) {
SWIGSTATICINLINE(int)
SWIGINTERN int
SWIG_AsVal(std::wstring)(PyObject* obj, std::wstring *val)
{
std::wstring *s;