Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/swig4.0/ |
Upload File : |
// This is a helper file for shared_ptr and should not be included directly. // The main implementation detail in using this smart pointer of a type is to customise the code generated // to use a pointer to the smart pointer of the type, rather than the usual pointer to the underlying type. // So for some type T, shared_ptr<T> * is used rather than T *. // Another key part of the implementation is the smartptr feature: // %feature("smartptr") T { shared_ptr<T> } // This feature marks the class T as having a smartptr to it (the shared_ptr<T> type). This is then used to // support smart pointers and inheritance. Say class D derives from base B, then shared_ptr<D> is marked // with a fake inheritance from shared_ptr<B> in the type system if the "smartptr" feature is used on both // B and D. This is to emulate the conversion of shared_ptr<D> to shared_ptr<B> in the target language. // shared_ptr namespaces could be boost or std or std::tr1 // For example for std::tr1, use: // #define SWIG_SHARED_PTR_NAMESPACE std // #define SWIG_SHARED_PTR_SUBNAMESPACE tr1 #if !defined(SWIG_SHARED_PTR_NAMESPACE) # define SWIG_SHARED_PTR_NAMESPACE boost #endif #if defined(SWIG_SHARED_PTR_SUBNAMESPACE) # define SWIG_SHARED_PTR_QNAMESPACE SWIG_SHARED_PTR_NAMESPACE::SWIG_SHARED_PTR_SUBNAMESPACE #else # define SWIG_SHARED_PTR_QNAMESPACE SWIG_SHARED_PTR_NAMESPACE #endif namespace SWIG_SHARED_PTR_NAMESPACE { #if defined(SWIG_SHARED_PTR_SUBNAMESPACE) namespace SWIG_SHARED_PTR_SUBNAMESPACE { #endif template <class T> class shared_ptr { }; #if defined(SWIG_SHARED_PTR_SUBNAMESPACE) } #endif } %fragment("SWIG_null_deleter", "header") { struct SWIG_null_deleter { void operator() (void const *) const { } }; %#define SWIG_NO_NULL_DELETER_0 , SWIG_null_deleter() %#define SWIG_NO_NULL_DELETER_1 %#define SWIG_NO_NULL_DELETER_SWIG_POINTER_NEW %#define SWIG_NO_NULL_DELETER_SWIG_POINTER_OWN } // Main user macro for defining shared_ptr typemaps for both const and non-const pointer types %define %shared_ptr(TYPE...) %feature("smartptr", noblock=1) TYPE { SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< TYPE > } SWIG_SHARED_PTR_TYPEMAPS(, TYPE) SWIG_SHARED_PTR_TYPEMAPS(const, TYPE) %enddef // Legacy macros %define SWIG_SHARED_PTR(PROXYCLASS, TYPE...) #warning "SWIG_SHARED_PTR(PROXYCLASS, TYPE) is deprecated. Please use %shared_ptr(TYPE) instead." %shared_ptr(TYPE) %enddef %define SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE...) #warning "SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE) is deprecated. Please use %shared_ptr(TYPE) instead." %shared_ptr(TYPE) %enddef