summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2023-04-24 22:40:00 +0100
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2023-04-26 18:18:15 +0100
commit1835580589b34bb383218a3b8ca5bea1c535e084 (patch)
tree42b511fcad88b49a0fcff584d03d6152ff3bc29a /Lib
parent08aee96cbd1de0c842b29776be8c24e9f742ef2d (diff)
downloadswig-1835580589b34bb383218a3b8ca5bea1c535e084.tar.gz
Remove undocumented and non-existent STL std::carray
Diffstat (limited to 'Lib')
-rw-r--r--Lib/octave/std_carray.i0
-rw-r--r--Lib/python/std_carray.i54
-rw-r--r--Lib/std/std_carray.swg64
3 files changed, 0 insertions, 118 deletions
diff --git a/Lib/octave/std_carray.i b/Lib/octave/std_carray.i
deleted file mode 100644
index e69de29bb..000000000
--- a/Lib/octave/std_carray.i
+++ /dev/null
diff --git a/Lib/python/std_carray.i b/Lib/python/std_carray.i
deleted file mode 100644
index 680d67115..000000000
--- a/Lib/python/std_carray.i
+++ /dev/null
@@ -1,54 +0,0 @@
-%include <pycontainer.swg>
-
-
-%fragment("StdCarrayTraits","header",fragment="StdSequenceTraits")
-{
-namespace swig {
- template <class T, size_t S>
- struct traits_asptr<std::carray<T, S> > {
- static int asptr(PyObject *obj, std::carray<T, S> **array) {
- return traits_asptr_stdseq<std::carray<T, S> >::asptr(obj, array);
- }
- };
-}
-}
-
-%warnfilter(SWIGWARN_IGNORE_OPERATOR_INDEX) std::carray::operator[];
-
-%extend std::carray {
- %fragment(SWIG_Traits_frag(std::carray<_Type, _Size >), "header",
- fragment="SwigPyIterator_T",
- fragment=SWIG_Traits_frag(_Type),
- fragment="StdCarrayTraits") {
- namespace swig {
- template <> struct traits<std::carray<_Type, _Size > > {
- typedef pointer_category category;
- static const char* type_name() {
- return "std::carray<" #_Type "," #_Size " >";
- }
- };
- }
- }
-
- %typemaps_asptr(SWIG_TYPECHECK_VECTOR, swig::asptr,
- SWIG_Traits_frag(std::carray<_Type, _Size >),
- std::carray<_Type, _Size >);
-
- %typemap(out,noblock=1) iterator, const_iterator {
- $result = SWIG_NewPointerObj(swig::make_output_iterator((const $type &)$1),
- swig::SwigPyIterator::descriptor(),SWIG_POINTER_OWN);
- }
-
- inline size_t __len__() const { return self->size(); }
-
- inline const _Type& __getitem__(size_t i) const { return (*self)[i]; }
-
- inline void __setitem__(size_t i, const _Type& v) { (*self)[i] = v; }
-
-
- swig::SwigPyIterator* __iter__(PyObject **PYTHON_SELF) {
- return swig::make_output_iterator(self->begin(), self->begin(), self->end(), *PYTHON_SELF);
- }
-}
-
-%include <std/std_carray.swg>
diff --git a/Lib/std/std_carray.swg b/Lib/std/std_carray.swg
deleted file mode 100644
index de2a07627..000000000
--- a/Lib/std/std_carray.swg
+++ /dev/null
@@ -1,64 +0,0 @@
-%{
-#include <algorithm>
-%}
-
-//
-// std::carray - is really an extension to the 'std' namespace.
-//
-// A simple fix C array wrapper, more or less as presented in
-//
-// "The C++ Standarf Library", by Nicolai M. Josuttis
-//
-// which is also derived from the example in
-//
-// "The C++ Programming Language", by Bjarne Stroustup.
-//
-
-%inline %{
-namespace std {
- template <class _Type, size_t _Size>
- class carray
- {
- public:
- typedef _Type value_type;
- typedef size_t size_type;
-
- typedef _Type * iterator;
- typedef const _Type * const_iterator;
-
- carray() { }
-
- carray(const carray& other) {
- std::copy(other.v, other.v + size(), v);
- }
-
- template <class _Iterator>
- carray(_Iterator first, _Iterator last) {
- assign(first, last);
- }
-
- iterator begin() { return v; }
- iterator end() { return v + _Size; }
-
- const_iterator begin() const { return v; }
- const_iterator end() const { return v + _Size; }
-
- _Type& operator[](size_t i) { return v[i]; }
- const _Type& operator[](size_t i) const { return v[i]; }
-
- static size_t size() { return _Size; }
-
- template <class _Iterator>
- void assign(_Iterator first, _Iterator last) {
- if (std::distance(first,last) == size()) {
- std::copy(first, last, v);
- } else {
- throw std::length_error("bad range length");
- }
- }
-
- private:
- _Type v[_Size];
- };
-}
-%}