/
usr
/
share
/
swig
/
3.0.12
/
std
/
/usr/share/swig/3.0.12/std
mkdir
upload
Name
Size
Mode
Actions
std_alloc.i
2015
0644
edit
dl
rm
std_array.i
2584
0644
edit
dl
rm
std_basic_string.i
6500
0644
edit
dl
rm
std_carray.swg
1416
0644
edit
dl
rm
std_char_traits.i
3190
0644
edit
dl
rm
std_common.i
5391
0644
edit
dl
rm
std_container.i
4297
0644
edit
dl
rm
std_deque.i
3494
0644
edit
dl
rm
std_except.i
1191
0644
edit
dl
rm
std_ios.i
5214
0644
edit
dl
rm
std_iostream.i
8853
0644
edit
dl
rm
std_list.i
3878
0644
edit
dl
rm
std_map.i
3680
0644
edit
dl
rm
std_multimap.i
3258
0644
edit
dl
rm
std_multiset.i
2540
0644
edit
dl
rm
std_pair.i
3712
0644
edit
dl
rm
std_queue.i
3497
0644
edit
dl
rm
std_set.i
3362
0644
edit
dl
rm
std_sstream.i
5323
0644
edit
dl
rm
std_stack.i
3471
0644
edit
dl
rm
std_streambuf.i
1741
0644
edit
dl
rm
std_string.i
219
0644
edit
dl
rm
std_unordered_map.i
4193
0644
edit
dl
rm
std_unordered_multimap.i
3278
0644
edit
dl
rm
std_unordered_multiset.i
3012
0644
edit
dl
rm
std_unordered_set.i
3869
0644
edit
dl
rm
std_vector.i
6167
0644
edit
dl
rm
std_vectora.i
147
0644
edit
dl
rm
std_wios.i
90
0644
edit
dl
rm
std_wiostream.i
100
0644
edit
dl
rm
std_wsstream.i
98
0644
edit
dl
rm
std_wstreambuf.i
102
0644
edit
dl
rm
std_wstring.i
249
0644
edit
dl
rm
_std_deque.i
4437
0644
edit
dl
rm
Edit:
/usr/share/swig/3.0.12/std/_std_deque.i
(4437B)
/* ----------------------------------------------------------------------------- * _std_deque.i * * This file contains a generic definition of std::deque along with * some helper functions. Specific language modules should include * this file to generate wrappers. * ----------------------------------------------------------------------------- */ %include <std_except.i> %{ #include <deque> #include <stdexcept> %} /* This macro defines all of the standard methods for a deque. This is defined as a macro to simplify the task of specialization. For example, template<> class deque<int> { public: %std_deque_methods(int); }; */ %define %std_deque_methods_noempty(T...) typedef size_t size_type; typedef ptrdiff_t difference_type; typedef T value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; deque(); deque(unsigned int size, const T& value=T()); deque(const deque< T > &); ~deque(); void assign(unsigned int n, const T& value); void swap(deque< T > &x); unsigned int size() const; unsigned int max_size() const; void resize(unsigned int n, T c = T()); const_reference front(); const_reference back(); void push_front(const T& x); void push_back(const T& x); void pop_front(); void pop_back(); void clear(); /* Some useful extensions */ %extend { const_reference getitem(int i) throw (std::out_of_range) { int size = int(self->size()); if (i<0) i += size; if (i>=0 && i<size) return (*self)[i]; else throw std::out_of_range("deque index out of range"); } void setitem(int i, const T& x) throw (std::out_of_range) { int size = int(self->size()); if (i<0) i+= size; if (i>=0 && i<size) (*self)[i] = x; else throw std::out_of_range("deque index out of range"); } void delitem(int i) throw (std::out_of_range) { int size = int(self->size()); if (i<0) i+= size; if (i>=0 && i<size) { self->erase(self->begin()+i); } else { throw std::out_of_range("deque index out of range"); } } std::deque< T > getslice(int i, int j) { int size = int(self->size()); if (i<0) i = size+i; if (j<0) j = size+j; if (i<0) i = 0; if (j>size) j = size; std::deque< T > tmp(j-i); std::copy(self->begin()+i,self->begin()+j,tmp.begin()); return tmp; } void setslice(int i, int j, const std::deque< T >& v) { int size = int(self->size()); if (i<0) i = size+i; if (j<0) j = size+j; if (i<0) i = 0; if (j>size) j = size; if (int(v.size()) == j-i) { std::copy(v.begin(),v.end(),self->begin()+i); } else { self->erase(self->begin()+i,self->begin()+j); if (i+1 <= size) self->insert(self->begin()+i+1,v.begin(),v.end()); else self->insert(self->end(),v.begin(),v.end()); } } void delslice(int i, int j) { int size = int(self->size()); if (i<0) i = size+i; if (j<0) j = size+j; if (i<0) i = 0; if (j>size) j = size; self->erase(self->begin()+i,self->begin()+j); } }; %enddef #ifdef SWIGPHP %define %std_deque_methods(T...) %extend { bool is_empty() const { return self->empty(); } }; %std_deque_methods_noempty(T) %enddef #else %define %std_deque_methods(T...) bool empty() const; %std_deque_methods_noempty(T) %enddef #endif namespace std { template<class T> class deque { public: %std_deque_methods(T); }; }
Save
cmd:
run