From 1835580589b34bb383218a3b8ca5bea1c535e084 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Mon, 24 Apr 2023 22:40:00 +0100 Subject: Remove undocumented and non-existent STL std::carray --- Lib/octave/std_carray.i | 0 Lib/python/std_carray.i | 54 ----------------------------------------- Lib/std/std_carray.swg | 64 ------------------------------------------------- 3 files changed, 118 deletions(-) delete mode 100644 Lib/octave/std_carray.i delete mode 100644 Lib/python/std_carray.i delete mode 100644 Lib/std/std_carray.swg (limited to 'Lib') diff --git a/Lib/octave/std_carray.i b/Lib/octave/std_carray.i deleted file mode 100644 index e69de29bb..000000000 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 - - -%fragment("StdCarrayTraits","header",fragment="StdSequenceTraits") -{ -namespace swig { - template - struct traits_asptr > { - static int asptr(PyObject *obj, std::carray **array) { - return traits_asptr_stdseq >::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 > { - 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 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 -%} - -// -// 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 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 - 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 - 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]; - }; -} -%} -- cgit v1.2.1