/home/runner/work/gslcpp/gslcpp/include/gslcpp/vec/v-iface.hpp: 1| |/// \dir include/gslcpp/vec 2| |/// \brief Types and functions specific to interface to GSL's vectors. 3| | 4| |/// \file include/gslcpp/vec/v-iface.hpp 5| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 6| |/// \brief Definition for gsl::v_iface. 7| | 8| |#pragma once 9| | 10| |#include "../wrap/add-constant.hpp" // add_constant 11| |#include "../wrap/add.hpp" // add 12| |#include "../wrap/axpby.hpp" // axpby 13| |#include "../wrap/div.hpp" // div 14| |#include "../wrap/element.hpp" // element_t 15| |#include "../wrap/equal.hpp" // equal 16| |#include "../wrap/fprintf.hpp" // fprintf 17| |#include "../wrap/fread.hpp" // fread 18| |#include "../wrap/fscanf.hpp" // fscanf 19| |#include "../wrap/fwrite.hpp" // fwrite 20| |#include "../wrap/get.hpp" // get 21| |#include "../wrap/imag.hpp" // imag 22| |#include "../wrap/isneg.hpp" // isneg 23| |#include "../wrap/isnonneg.hpp" // isnonneg 24| |#include "../wrap/isnull.hpp" // isnull 25| |#include "../wrap/ispos.hpp" // ispos 26| |#include "../wrap/max-index.hpp" // max_index 27| |#include "../wrap/max.hpp" // max 28| |#include "../wrap/memcpy.hpp" // memcpy 29| |#include "../wrap/min-index.hpp" // min_index 30| |#include "../wrap/min.hpp" // min 31| |#include "../wrap/minmax-index.hpp" // minmax_index 32| |#include "../wrap/minmax.hpp" // minmax 33| |#include "../wrap/mul.hpp" // mul 34| |#include "../wrap/ptr.hpp" // ptr 35| |#include "../wrap/real.hpp" // real 36| |#include "../wrap/reverse.hpp" // reverse 37| |#include "../wrap/scale.hpp" // scale 38| |#include "../wrap/set-all.hpp" // set_all 39| |#include "../wrap/set-basis.hpp" // set_basis 40| |#include "../wrap/set-zero.hpp" // set_zero 41| |#include "../wrap/set.hpp" // set 42| |#include "../wrap/sub.hpp" // sub 43| |#include "../wrap/subvector.hpp" // subvector 44| |#include "../wrap/sum.hpp" // sum 45| |#include "../wrap/swap-elements.hpp" // swap_elements 46| |#include "../wrap/swap.hpp" // swap 47| |#include "v-iterator.hpp" // iterator 48| |#include "v-view.hpp" // view 49| |#include // ostream 50| | 51| |namespace gsl { 52| | 53| | 54| |using std::is_const_v; 55| | 56| | 57| |/// Interface for every kind of vector. 58| |/// \tparam T Type of each element in vector. 59| |/// \tparam N Compile-time number of elements (0 means set at run-time). 60| |/// \tparam S Type specifying interface to storage of elements. 61| |template class S> 62| |struct v_iface: public S { 63| | /// Inherit constructors. 64| | using S::S; 65| | 66| | /// Reference to instance of w_vector, which is gsl_vector, 67| | /// gsl_vector_float, or the like. 68| | using S::v; 69| | 70| | enum { SIZE= N /**< Size at compile-time. */ }; 71| | 72| | /// Element-type needed by gsl::v_iterator. 73| | using E= T; 74| | 75| | /// Type of iterator that points to mutable element. 76| | using iterator= v_iterator; 77| | 78| | /// Type of iterator that points to immutable element. 79| | using const_iterator= v_iterator; 80| | 81| | /// Iterator that points to first element. 82| | /// @return Iterator that points to first element. 83| 252| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::begin(): | 83| 18| iterator begin() { return iterator(*this, 0); } ------------------ 84| | 85| | /// Iterator that points to element just past last element. 86| | /// @return Iterator that points to element just past last element. 87| 70| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::end(): | 87| 5| iterator end() { return iterator(*this, size()); } ------------------ 88| | 89| | /// Iterator that points to first element. 90| | /// @return Iterator that points to first element. 91| 308| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::begin() const: | 91| 22| const_iterator begin() const { return const_iterator(*this, 0); } ------------------ 92| | 93| | /// Iterator that points to element just past last element. 94| | /// @return Iterator that points to element just past last element. 95| 322| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::end() const: | 95| 23| const_iterator end() const { return const_iterator(*this, size()); } ------------------ 96| | 97| | /// Size of vector. 98| | /// @return Size of vector. 99| 754| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::size() const: | 99| 49| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 5| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::size() const: | 99| 2| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 11| size_t size() const { return v()->size; } ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface::size() const ------------------ | Unexecuted instantiation: gsl::v_iface const, 0ul, gsl::v_view>::size() const ------------------ | Unexecuted instantiation: gsl::v_iface const, 0ul, gsl::v_view>::size() const ------------------ | Unexecuted instantiation: gsl::v_iface const, 0ul, gsl::v_view>::size() const ------------------ | gsl::v_iface::size() const: | 99| 1| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 10| size_t size() const { return v()->size; } ------------------ | gsl::v_iface::size() const: | 99| 15| size_t size() const { return v()->size; } ------------------ 100| | 101| | /// Pointer to first element in vector. 102| | /// - Be careful to check `v()->stride` in case data be not contiguous. 103| | /// @return Pointer to first element. 104| 1.99k| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::data(): | 104| 82| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 19| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::data(): | 104| 13| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::data(): | 104| 4| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 36| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 32| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::data(): | 104| 35| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::data(): | 104| 35| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::data(): | 104| 35| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::data(): | 104| 5| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 6| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 6| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 6| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 3| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ | gsl::v_iface::data(): | 104| 16| T *data() { return (T *)v()->data; /* Cast for complex. */ } ------------------ 105| | 106| | /// Pointer to first element in immutable vector. 107| | /// - Be careful to check `v()->stride` in case data be not contiguous. 108| | /// @return Pointer to first immutable element. 109| 654| T const *data() const { 110| 654| return (T const *)v()->data; /* Cast for complex. */ 111| 654| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::data() const: | 109| 34| T const *data() const { | 110| 34| return (T const *)v()->data; /* Cast for complex. */ | 111| 34| } ------------------ | gsl::v_iface::data() const: | 109| 7| T const *data() const { | 110| 7| return (T const *)v()->data; /* Cast for complex. */ | 111| 7| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::data() const: | 109| 4| T const *data() const { | 110| 4| return (T const *)v()->data; /* Cast for complex. */ | 111| 4| } ------------------ | gsl::v_iface::data() const: | 109| 11| T const *data() const { | 110| 11| return (T const *)v()->data; /* Cast for complex. */ | 111| 11| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 6| T const *data() const { | 110| 6| return (T const *)v()->data; /* Cast for complex. */ | 111| 6| } ------------------ | gsl::v_iface::data() const: | 109| 6| T const *data() const { | 110| 6| return (T const *)v()->data; /* Cast for complex. */ | 111| 6| } ------------------ | gsl::v_iface::data() const: | 109| 6| T const *data() const { | 110| 6| return (T const *)v()->data; /* Cast for complex. */ | 111| 6| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 3| T const *data() const { | 110| 3| return (T const *)v()->data; /* Cast for complex. */ | 111| 3| } ------------------ | gsl::v_iface::data() const: | 109| 6| T const *data() const { | 110| 6| return (T const *)v()->data; /* Cast for complex. */ | 111| 6| } ------------------ | gsl::v_iface::data() const: | 109| 12| T const *data() const { | 110| 12| return (T const *)v()->data; /* Cast for complex. */ | 111| 12| } ------------------ 112| | 113| | /// Read element with bounds-checking. 114| | /// @param i Offset of element. 115| | /// @return Value of element. 116| 14| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::get(unsigned long) const: | 116| 1| T get(size_t i) const { return w_get(v(), i); } ------------------ 117| | 118| | /// Write element with bounds-checking. 119| | /// @param i Offset of element. 120| | /// @param x New value for element. 121| 14| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, double const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, float const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, long double const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, int const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, unsigned int const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, long const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, unsigned long const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, short const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, unsigned short const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, char const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface::set(unsigned long, unsigned char const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set(unsigned long, gsl::complex const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set(unsigned long, gsl::complex const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set(unsigned long, gsl::complex const&): | 121| 1| void set(size_t i, T const &x) { w_set(v(), i, x); } ------------------ 122| | 123| | /// Read element without bounds-checking. 124| | /// @param i Offset of element. 125| | /// @return Reference to immutable element. 126| 612| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator[](unsigned long) const: | 126| 32| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 6| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 11| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 6| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 6| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 6| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 3| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 6| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long) const: | 126| 12| T const &operator[](size_t i) const { return data()[i * v()->stride]; } ------------------ 127| | 128| | /// Write element without bounds-checking. 129| | /// @param i Offset of element. 130| | /// @return Reference to mutable element. 131| 1.94k| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator[](unsigned long): | 131| 82| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 35| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 31| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::operator[](unsigned long): | 131| 34| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::operator[](unsigned long): | 131| 34| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::operator[](unsigned long): | 131| 34| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 18| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::operator[](unsigned long): | 131| 12| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::operator[](unsigned long): | 131| 5| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 6| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 6| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 6| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 3| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ | gsl::v_iface::operator[](unsigned long): | 131| 16| T &operator[](size_t i) { return data()[i * v()->stride]; } ------------------ 132| | 133| | /// Retrieve pointer to `i`th element with bounds-checking. 134| | /// This could be useful if stride unknown. 135| | /// @param i Offset of element. 136| | /// @return Pointer to mutable element. 137| 84| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_view>::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_view>::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface const, 0ul, gsl::v_view>::ptr(unsigned long): | 137| 2| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_view>::ptr(unsigned long): | 137| 3| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ptr(unsigned long): | 137| 1| T *ptr(size_t i) { return w_ptr(v(), i); } ------------------ 138| | 139| | /// Retrieve pointer to `i`th element with bounds-checking. 140| | /// This could be useful if stride unknown. 141| | /// @param i Offset of element. 142| | /// @return Pointer to immutable element. 143| 14| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ptr(unsigned long) const: | 143| 1| T const *ptr(size_t i) const { return w_ptr(v(), i); } ------------------ 144| | 145| | /// Set every element. 146| | /// @param x Value to which each element should be set. 147| 126| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(double const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(float const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(long double const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(int const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(unsigned int const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(long const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(unsigned long const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(short const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(unsigned short const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(char const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface::set_all(unsigned char const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_all(gsl::complex const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_all(gsl::complex const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_all(gsl::complex const&): | 147| 9| void set_all(T const &x) { w_set_all(v(), x); } ------------------ 148| | 149| | /// Set every element to zero. 150| 85| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_zero(): | 150| 5| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ | gsl::v_iface::set_zero(): | 150| 1| void set_zero() { w_set_zero(v()); } ------------------ 151| | 152| | /// Set element at offset `i` to unity and every other element to zero. 153| | /// @param i Offset of element set to unity. 154| | /// @return TBD: GSL's documentation does not specify. 155| 42| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::set_basis(unsigned long): | 155| 3| int set_basis(size_t i) { return w_set_basis(v(), i); } ------------------ 156| | 157| | /// Write non-portable binary-image of vector to file. 158| | /// @param f Pointer to structure for buffered interface. 159| | /// @return Zero only on success. 160| 14| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fwrite(_IO_FILE*) const: | 160| 1| int fwrite(FILE *f) const { return w_fwrite(f, v()); } ------------------ 161| | 162| | /// Read non-portable binary-image of vector from file. 163| | /// @param f Pointer to structure for buffered interface. 164| | /// @return Zero only on success. 165| 14| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fread(_IO_FILE*): | 165| 1| int fread(FILE *f) { return w_fread(f, v()); }; ------------------ 166| | 167| | /// Write ASCII-formatted representation of vector to file. 168| | /// @param flp Pointer to structure for buffered interface. 169| | /// @param fmt printf()-style format-string. 170| | /// @return Zero only on success. 171| 14| int fprintf(FILE *flp, char const *fmt) const { 172| 14| return w_fprintf(flp, v(), fmt); 173| 14| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fprintf(_IO_FILE*, char const*) const: | 171| 1| int fprintf(FILE *flp, char const *fmt) const { | 172| 1| return w_fprintf(flp, v(), fmt); | 173| 1| } ------------------ 174| | 175| | /// Read ASCII-formatted representation of vector from file. 176| | /// @param f Pointer to structure for buffered interface. 177| | /// @return Zero only on success. 178| 14| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::fscanf(_IO_FILE*): | 178| 1| int fscanf(FILE *f) { return w_fscanf(f, v()); } ------------------ 179| | 180| | /// View of real-part of complex vector. 181| | /// \return View of real-part of complex vector. 182| 28| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::real(): | 182| 2| v_iface, N, v_view> real() { return w_real(v()); } ------------------ 183| | 184| | /// View of real-part of complex vector. 185| | /// \return View of real-part of complex vector. 186| | v_iface const, N, v_view> real() const { return w_real(v()); } 187| | 188| | /// View of imaginary-part of complex vector. 189| | /// \return View of imaginary-part of complex vector. 190| 6| v_iface, N, v_view> imag() { return w_imag(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::imag(): | 190| 2| v_iface, N, v_view> imag() { return w_imag(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::imag(): | 190| 2| v_iface, N, v_view> imag() { return w_imag(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::imag(): | 190| 2| v_iface, N, v_view> imag() { return w_imag(v()); } ------------------ 191| | 192| | /// View of imaginary-part of complex vector. 193| | /// \return View of imaginary-part of complex vector. 194| | v_iface const, N, v_view> imag() const { return w_imag(v()); } 195| | 196| | /// View of subvector of vector. Arguments are reordered from those given to 197| | /// gsl_vector_subvector_with_stride(). Putting initial offset and stride at 198| | /// end allows each to have good default (0 for initial offset and 1 for 199| | /// stride). 200| | /// @param n Number of elements in view. 201| | /// @param i Offset in vector of first element in view. 202| | /// @param s Stride of view relative to vector. 203| | /// @return View of subvector. 204| 72| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { 205| 72| return w_subvector(v(), i, s, n); 206| 72| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 4| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 4| return w_subvector(v(), i, s, n); | 206| 4| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface, 6ul, gsl::v_view>::subvector(unsigned long, unsigned long, unsigned long): | 204| 2| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 2| return w_subvector(v(), i, s, n); | 206| 2| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface const, 6ul, gsl::v_view>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long): | 204| 1| v_iface subvector(size_t n, size_t i= 0, size_t s= 1) { | 205| 1| return w_subvector(v(), i, s, n); | 206| 1| } ------------------ 207| | 208| | /// View of subvector of vector. Arguments are reordered from those given to 209| | /// gsl_vector_subvector_with_stride(). Putting initial offset and stride at 210| | /// end allows each to have good default (0 for initial offset and 1 for 211| | /// stride). 212| | /// @param n Number of elements in view. 213| | /// @param i Offset in vector of first element in view. 214| | /// @param s Stride of view relative to vector. 215| | /// @return View of subvector. 216| | v_iface 217| 42| subvector(size_t n, size_t i= 0, size_t s= 1) const { 218| 42| return w_subvector(v(), i, s, n); 219| 42| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 6ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::subvector(unsigned long, unsigned long, unsigned long) const: | 217| 1| subvector(size_t n, size_t i= 0, size_t s= 1) const { | 218| 1| return w_subvector(v(), i, s, n); | 219| 1| } ------------------ 220| | 221| | /// View of vector. 222| | /// @return View of vector. 223| 1| v_iface view() { return w_subvector(v(), 0, 1, size()); } 224| | 225| | /// View of vector. 226| | /// @return View of vector. 227| 14| v_iface view() const { 228| 14| return w_subvector(v(), 0, 1, size()); 229| 14| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::view() const: | 227| 1| v_iface view() const { | 228| 1| return w_subvector(v(), 0, 1, size()); | 229| 1| } ------------------ 230| | 231| | /// Swap elements within this vector. 232| | /// @param i Offset of one element. 233| | /// @param j Offset of other element. 234| | /// @return TBD: GSL's documentation does not specify. 235| 14| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::swap_elements(unsigned long, unsigned long): | 235| 1| int swap_elements(size_t i, size_t j) { return w_swap_elements(v(), i, j); } ------------------ 236| | 237| | /// Reverse order of elements. 238| | /// @return TBD: GSL's documentation does not specify. 239| 25| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface::reverse(): | 239| 2| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::reverse(): | 239| 1| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::reverse(): | 239| 1| int reverse() { return w_reverse(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::reverse(): | 239| 1| int reverse() { return w_reverse(v()); } ------------------ 240| | 241| | /// Add contents of `b` into this vector in place. 242| | /// \tparam ON Compile-time number of elements in `b`. 243| | /// \tparam OV Type of interface to storage for `b`. 244| | /// \param b Vector whose contents should be added into this. 245| | /// \return TBD: GSL's documentation does not specify. 246| | template class OV> 247| 28| int add(v_iface const &b) { 248| 28| static_assert(N == ON || N == 0 || ON == 0); 249| 28| return w_add(v(), b.v()); 250| 28| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface::add<3ul, gsl::v_stor>(gsl::v_iface const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::add<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::add<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::add<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 247| 2| int add(v_iface const &b) { | 248| 2| static_assert(N == ON || N == 0 || ON == 0); | 249| 2| return w_add(v(), b.v()); | 250| 2| } ------------------ 251| | 252| | /// Subtract contents of `b` from this vector in place. 253| | /// \tparam ON Compile-time number of elements in `b`. 254| | /// \tparam OV Type of interface to storage for `b`. 255| | /// \param b Vector whose contents should be subtracted from this. 256| | /// \return TBD: GSL's documentation does not specify. 257| | template class OV> 258| 28| int sub(v_iface const &b) { 259| 28| static_assert(N == ON || N == 0 || ON == 0); 260| 28| return w_sub(v(), b.v()); 261| 28| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface::sub<3ul, gsl::v_stor>(gsl::v_iface const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::sub<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::sub<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::sub<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 258| 2| int sub(v_iface const &b) { | 259| 2| static_assert(N == ON || N == 0 || ON == 0); | 260| 2| return w_sub(v(), b.v()); | 261| 2| } ------------------ 262| | 263| | /// Multiply contents of `b` into this vector in place. 264| | /// \tparam ON Compile-time number of elements in `b`. 265| | /// \tparam OV Type of interface to storage for `b`. 266| | /// \param b Vector whose contents should be multiplied into this. 267| | /// \return TBD: GSL's documentation does not specify. 268| | template class OV> 269| 28| int mul(v_iface const &b) { 270| 28| static_assert(N == ON || N == 0 || ON == 0); 271| 28| return w_mul(v(), b.v()); 272| 28| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface::mul<3ul, gsl::v_stor>(gsl::v_iface const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::mul<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::mul<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::mul<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 269| 2| int mul(v_iface const &b) { | 270| 2| static_assert(N == ON || N == 0 || ON == 0); | 271| 2| return w_mul(v(), b.v()); | 272| 2| } ------------------ 273| | 274| | /// Divide contents of `b` into this vector in place. 275| | /// \tparam ON Compile-time number of elements in `b`. 276| | /// \tparam OV Type of interface to storage for `b`. 277| | /// \param b Vector whose contents should be divided into this. 278| | /// \return TBD: GSL's documentation does not specify. 279| | template class OV> 280| 28| int div(v_iface const &b) { 281| 28| static_assert(N == ON || N == 0 || ON == 0); 282| 28| return w_div(v(), b.v()); 283| 28| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface::div<3ul, gsl::v_stor>(gsl::v_iface const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::div<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::div<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ | int gsl::v_iface, 3ul, gsl::v_stor>::div<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 280| 2| int div(v_iface const &b) { | 281| 2| static_assert(N == ON || N == 0 || ON == 0); | 282| 2| return w_div(v(), b.v()); | 283| 2| } ------------------ 284| | 285| | /// Add contents of `b` into this vector in place. 286| | /// \tparam ON Compile-time number of elements in `b`. 287| | /// \tparam OV Type of interface to storage for `b`. 288| | /// \param b Vector whose contents should be added into this. 289| | /// \return Reference to this vector after modification. 290| | template class OV> 291| 14| v_iface &operator+=(v_iface const &b) { 292| 14| static_assert(N == ON || N == 0 || ON == 0); 293| 14| add(b); 294| 14| return *this; 295| 14| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator+=<3ul, gsl::v_stor>(gsl::v_iface const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator+=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator+=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator+=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 291| 1| v_iface &operator+=(v_iface const &b) { | 292| 1| static_assert(N == ON || N == 0 || ON == 0); | 293| 1| add(b); | 294| 1| return *this; | 295| 1| } ------------------ 296| | 297| | /// Subtract contents of `b` from this vector in place. 298| | /// \tparam ON Compile-time number of elements in `b`. 299| | /// \tparam OV Type of interface to storage for `b`. 300| | /// \param b Vector whose contents should be subtracted from this. 301| | /// \return Reference to this vector after modification. 302| | template class OV> 303| 14| v_iface &operator-=(v_iface const &b) { 304| 14| static_assert(N == ON || N == 0 || ON == 0); 305| 14| sub(b); 306| 14| return *this; 307| 14| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator-=<3ul, gsl::v_stor>(gsl::v_iface const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator-=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator-=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator-=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 303| 1| v_iface &operator-=(v_iface const &b) { | 304| 1| static_assert(N == ON || N == 0 || ON == 0); | 305| 1| sub(b); | 306| 1| return *this; | 307| 1| } ------------------ 308| | 309| | /// Multiply contents of `b` into this vector in place. 310| | /// \tparam ON Compile-time number of elements in `b`. 311| | /// \tparam OV Type of interface to storage for `b`. 312| | /// \param b Vector whose contents should be multiplied into this. 313| | /// \return Reference to this vector after modification. 314| | template class OV> 315| 14| v_iface &operator*=(v_iface const &b) { 316| 14| static_assert(N == ON || N == 0 || ON == 0); 317| 14| mul(b); 318| 14| return *this; 319| 14| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator*=<3ul, gsl::v_stor>(gsl::v_iface const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator*=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator*=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator*=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 315| 1| v_iface &operator*=(v_iface const &b) { | 316| 1| static_assert(N == ON || N == 0 || ON == 0); | 317| 1| mul(b); | 318| 1| return *this; | 319| 1| } ------------------ 320| | 321| | /// Divide contents of `b` into this vector in place. 322| | /// \tparam ON Compile-time number of elements in `b`. 323| | /// \tparam OV Type of interface to storage for `b`. 324| | /// \param b Vector whose contents should be divided into this. 325| | /// @return Reference to this vector after modification. 326| | template class OV> 327| 14| v_iface &operator/=(v_iface const &b) { 328| 14| static_assert(N == ON || N == 0 || ON == 0); 329| 14| div(b); 330| 14| return *this; 331| 14| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface& gsl::v_iface::operator/=<3ul, gsl::v_stor>(gsl::v_iface const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator/=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator/=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>& gsl::v_iface, 3ul, gsl::v_stor>::operator/=<3ul, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&): | 327| 1| v_iface &operator/=(v_iface const &b) { | 328| 1| static_assert(N == ON || N == 0 || ON == 0); | 329| 1| div(b); | 330| 1| return *this; | 331| 1| } ------------------ 332| | 333| | /// Copy contents of `b` into this vector. 334| | /// \tparam ON Compile-time number of elements in `b`. 335| | /// \tparam OV Type of interface to storage for `b`. 336| | /// \param b Reference to vector whose data will be copied. 337| | /// \return Reference to this instance after assignment. 338| | template class OV> 339| | v_iface &operator=(v_iface const &b) { 340| | static_assert(N == ON || N == 0 || ON == 0); 341| | memcpy(*this, b); 342| | return *this; 343| | } 344| | 345| | /// Copy contents of `b` into this vector. 346| | /// \param b Reference to vector whose data will be copied. 347| | /// \return Reference to this instance after assignment. 348| 58| v_iface &operator=(v_iface const &b) { 349| 58| memcpy(*this, b); 350| 58| return *this; 351| 58| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 5| v_iface &operator=(v_iface const &b) { | 349| 5| memcpy(*this, b); | 350| 5| return *this; | 351| 5| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator=(gsl::v_iface, 3ul, gsl::v_stor> const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator=(gsl::v_iface, 3ul, gsl::v_stor> const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator=(gsl::v_iface, 3ul, gsl::v_stor> const&): | 348| 4| v_iface &operator=(v_iface const &b) { | 349| 4| memcpy(*this, b); | 350| 4| return *this; | 351| 4| } ------------------ | gsl::v_iface::operator=(gsl::v_iface const&): | 348| 1| v_iface &operator=(v_iface const &b) { | 349| 1| memcpy(*this, b); | 350| 1| return *this; | 351| 1| } ------------------ 352| | 353| | /// Enable move-constructor in gsl::v_stor to work. 354| 14| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface::v_iface(gsl::v_iface&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::v_iface(gsl::v_iface, 0ul, gsl::v_stor>&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::v_iface(gsl::v_iface, 0ul, gsl::v_stor>&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::v_iface(gsl::v_iface, 0ul, gsl::v_stor>&&): | 354| 1| v_iface(v_iface &&)= default; ------------------ 355| | 356| | /// Multiply scalar into this vector in place. 357| | /// @param x Scalar to multiply into this. 358| | /// @return TBD: GSL's documentation does not specify. 359| 28| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(double const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(float const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(long double const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(int const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(short const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(long const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(unsigned int const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(unsigned short const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(unsigned long const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(char const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface::scale(unsigned char const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::scale(gsl::complex const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::scale(gsl::complex const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::scale(gsl::complex const&): | 359| 2| int scale(T const &x) { return w_scale(v(), x); } ------------------ 360| | 361| | /// Multiply scalar into this vector in place. 362| | /// @param x Scalar to multiply into this. 363| | /// @return Reference to this vector after modification. 364| 14| v_iface &operator*=(T const &x) { 365| 14| scale(x); 366| 14| return *this; 367| 14| } ------------------ | gsl::v_iface::operator*=(double const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(float const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(long double const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(int const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(short const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(long const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(unsigned int const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(unsigned short const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(unsigned long const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(char const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface::operator*=(unsigned char const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator*=(gsl::complex const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator*=(gsl::complex const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator*=(gsl::complex const&): | 364| 1| v_iface &operator*=(T const &x) { | 365| 1| scale(x); | 366| 1| return *this; | 367| 1| } ------------------ 368| | 369| | /// Add constant into each element of this vector in place. 370| | /// @param x Constant to add into this vector. 371| | /// @return TBD: GSL's documentation does not specify. 372| 70| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(double const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(float const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(long double const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(int const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(unsigned int const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(long const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(unsigned long const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(short const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(unsigned short const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(char const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface::add_constant(unsigned char const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::add_constant(gsl::complex const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::add_constant(gsl::complex const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::add_constant(gsl::complex const&): | 372| 5| int add_constant(T const &x) { return w_add_constant(v(), x); } ------------------ 373| | 374| | /// Add constant into each element of this vector in place. 375| | /// @param x Constant to add into this vector. 376| | /// @return Reference to this vector after modification. 377| 14| v_iface &operator+=(T const &x) { 378| 14| add_constant(x); 379| 14| return *this; 380| 14| } ------------------ | gsl::v_iface::operator+=(double const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(float const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(long double const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(int const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(unsigned int const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(long const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(unsigned long const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(short const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(unsigned short const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(char const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface::operator+=(unsigned char const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator+=(gsl::complex const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator+=(gsl::complex const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::operator+=(gsl::complex const&): | 377| 1| v_iface &operator+=(T const &x) { | 378| 1| add_constant(x); | 379| 1| return *this; | 380| 1| } ------------------ 381| | 382| | /// Sum of elements. 383| | /// @return Sum of elements. 384| 6| T sum() const { return w_sum(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::sum() const: | 384| 1| T sum() const { return w_sum(v()); } ------------------ | gsl::v_iface const, 3ul, gsl::v_view>::sum() const: | 384| 1| T sum() const { return w_sum(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::sum() const: | 384| 1| T sum() const { return w_sum(v()); } ------------------ | gsl::v_iface const, 3ul, gsl::v_view>::sum() const: | 384| 1| T sum() const { return w_sum(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::sum() const: | 384| 1| T sum() const { return w_sum(v()); } ------------------ | gsl::v_iface const, 3ul, gsl::v_view>::sum() const: | 384| 1| T sum() const { return w_sum(v()); } ------------------ 385| | 386| | /// Greatest value of any element. 387| | /// @return Greatest value of any element. 388| 11| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ | gsl::v_iface::max() const: | 388| 1| T max() const { return w_max(v()); } ------------------ 389| | 390| | /// Least value of any element. 391| | /// @return Least value of any element. 392| 11| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ | gsl::v_iface::min() const: | 392| 1| T min() const { return w_min(v()); } ------------------ 393| | 394| | /// Greatest value and least value of any element. 395| | /// @param min On return, least value. 396| | /// @param max On return, greatest value. 397| 11| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(double&, double&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(float&, float&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(long double&, long double&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(int&, int&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(unsigned int&, unsigned int&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(long&, long&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(unsigned long&, unsigned long&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(short&, short&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(unsigned short&, unsigned short&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(char&, char&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ | gsl::v_iface::minmax(unsigned char&, unsigned char&) const: | 397| 1| void minmax(T &min, T &max) const { w_minmax(v(), &min, &max); } ------------------ 398| | 399| | /// Offset of greatest value. 400| | /// @return Offset of greatest value. 401| 11| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ | gsl::v_iface::max_index() const: | 401| 1| size_t max_index() const { return w_max_index(v()); } ------------------ 402| | 403| | /// Offset of least value. 404| | /// @return Offset of least value. 405| 11| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ | gsl::v_iface::min_index() const: | 405| 1| size_t min_index() const { return w_min_index(v()); } ------------------ 406| | 407| | /// Offset of least value and offset of greatest value. 408| | /// @param imin On return, offset of least value. 409| | /// @param imax On return, offset of greatest value. 410| 11| void minmax_index(size_t &imin, size_t &imax) const { 411| 11| w_minmax_index(v(), &imin, &imax); 412| 11| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ | gsl::v_iface::minmax_index(unsigned long&, unsigned long&) const: | 410| 1| void minmax_index(size_t &imin, size_t &imax) const { | 411| 1| w_minmax_index(v(), &imin, &imax); | 412| 1| } ------------------ 413| | 414| | /// True only if every element have zero value. 415| | /// @return True only if every element be zero. 416| 42| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isnull() const: | 416| 3| bool isnull() const { return w_isnull(v()); } ------------------ 417| | 418| | /// True only if every element be positive. 419| | /// @return True only if every element be positive. 420| 31| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ispos() const: | 420| 1| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ispos() const: | 420| 1| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::ispos() const: | 420| 2| bool ispos() const { return w_ispos(v()); } ------------------ | gsl::v_iface, 0ul, gsl::v_stor>::ispos() const: | 420| 1| bool ispos() const { return w_ispos(v()); } ------------------ 421| | 422| | /// True only if every element be negative. 423| | /// @return True only if every element be negative. 424| 28| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isneg() const: | 424| 2| bool isneg() const { return w_isneg(v()); } ------------------ 425| | 426| | /// True only if every element be non-negative. 427| | /// @return True only if every element be non-negative. 428| 42| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ | gsl::v_iface, 3ul, gsl::v_stor>::isnonneg() const: | 428| 3| bool isnonneg() const { return w_isnonneg(v()); } ------------------ 429| |}; 430| | 431| | 432| |/// Test equality of two vectors. 433| |/// @tparam T1 Type of element in first vector. 434| |/// @tparam T2 Type of element in second vector. 435| |/// @tparam N1 Compile-time number of elements in first vector. 436| |/// @tparam N2 Compile-time number of elements in second vector. 437| |/// @tparam V1 Type of storage for first vector. 438| |/// @tparam V2 Type of storage for second vector. 439| |/// @param v1 Reference to first vector. 440| |/// @param v2 Reference to second vector. 441| |/// @return True only if vectors be equal. 442| |template< 443| | typename T1, 444| | typename T2, 445| | size_t N1, 446| | size_t N2, 447| | template 448| | class V1, 449| | template 450| | class V2> 451| 212|bool equal(v_iface const &v1, v_iface const &v2) { 452| 212| static_assert(N1 == N2 || N1 == 0 || N2 == 0); 453| 212| return w_equal(v1.v(), v2.v()); 454| 212|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 451| 2|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 2| return w_equal(v1.v(), v2.v()); | 454| 2|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 14|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 14| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 14| return w_equal(v1.v(), v2.v()); | 454| 14|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 451| 12|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 12| return w_equal(v1.v(), v2.v()); | 454| 12|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal(gsl::v_iface const&, gsl::v_iface const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ | bool gsl::equal, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 451| 1|bool equal(v_iface const &v1, v_iface const &v2) { | 452| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 453| 1| return w_equal(v1.v(), v2.v()); | 454| 1|} ------------------ 455| | 456| | 457| |/// Test equality of two vectors. 458| |/// @tparam T1 Type of element in first vector. 459| |/// @tparam T2 Type of element in second vector. 460| |/// @tparam N1 Compile-time number of elements in first vector. 461| |/// @tparam N2 Compile-time number of elements in second vector. 462| |/// @tparam V1 Type of storage for first vector. 463| |/// @tparam V2 Type of storage for second vector. 464| |/// @param u Reference to first vector. 465| |/// @param v Reference to second vector. 466| |/// @return True only if vectors be equal. 467| |template< 468| | typename T1, 469| | typename T2, 470| | size_t N1, 471| | size_t N2, 472| | template 473| | class V1, 474| | template 475| | class V2> 476| 142|bool operator==(v_iface const &u, v_iface const &v) { 477| 142| static_assert( 478| 142| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); 479| 142| return equal(u, v); 480| 142|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor> const&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 476| 2|bool operator==(v_iface const &u, v_iface const &v) { | 477| 2| static_assert( | 478| 2| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 2| return equal(u, v); | 480| 2|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 9|bool operator==(v_iface const &u, v_iface const &v) { | 477| 9| static_assert( | 478| 9| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 9| return equal(u, v); | 480| 9|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 476| 7|bool operator==(v_iface const &u, v_iface const &v) { | 477| 7| static_assert( | 478| 7| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 7| return equal(u, v); | 480| 7|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==(gsl::v_iface const&, gsl::v_iface const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ | bool gsl::operator==, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 476| 1|bool operator==(v_iface const &u, v_iface const &v) { | 477| 1| static_assert( | 478| 1| N1 == N2 || N1 == 0 || N2 == 0, "incompatible size at compile-time"); | 479| 1| return equal(u, v); | 480| 1|} ------------------ 481| | 482| | 483| |/// Test inequality of two vectors. 484| |/// @tparam T1 Type of element in first vector. 485| |/// @tparam T2 Type of element in second vector. 486| |/// @tparam N1 Compile-time number of elements in first vector. 487| |/// @tparam N2 Compile-time number of elements in second vector. 488| |/// @tparam V1 Type of storage for first vector. 489| |/// @tparam V2 Type of storage for second vector. 490| |/// @param u Reference to first vector. 491| |/// @param v Reference to second vector. 492| |/// @return True only if vectors be unequal. 493| |template< 494| | typename T1, 495| | typename T2, 496| | size_t N1, 497| | size_t N2, 498| | template 499| | class V1, 500| | template 501| | class V2> 502| 14|bool operator!=(v_iface const &u, v_iface const &v) { 503| 14| static_assert(N1 == N2 || N1 == 0 || N2 == 0); 504| 14| return !equal(u, v); 505| 14|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=(gsl::v_iface const&, gsl::v_iface const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ | bool gsl::operator!=, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 502| 1|bool operator!=(v_iface const &u, v_iface const &v) { | 503| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 504| 1| return !equal(u, v); | 505| 1|} ------------------ 506| | 507| | 508| |/// Print vector to output-stream. 509| |/// @tparam T Type of element in vector. 510| |/// @tparam N Number of elements in vector. 511| |/// @tparam V Type of storage for vector. 512| |/// @param os Reference to output-stream. 513| |/// @param u Reference to vector. 514| |/// @return Reference to modified output-stream. 515| |template class V> 516| 1|std::ostream &operator<<(std::ostream &os, v_iface const &u) { 517| 1| os << "["; 518| 1| int const last= int(u.size()) - 1; 519| 3| for(int i= 0; i < last; ++i) os << u[i] << ","; 520| 1| if(last >= 0) os << u[last]; 521| 1| os << "]"; 522| 1| return os; 523| 1|} ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< , 3ul, gsl::v_stor>(std::basic_ostream >&, gsl::v_iface, 3ul, gsl::v_stor> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< , 3ul, gsl::v_stor>(std::basic_ostream >&, gsl::v_iface, 3ul, gsl::v_stor> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< , 3ul, gsl::v_stor>(std::basic_ostream >&, gsl::v_iface, 3ul, gsl::v_stor> const&) ------------------ | std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&): | 516| 1|std::ostream &operator<<(std::ostream &os, v_iface const &u) { | 517| 1| os << "["; | 518| 1| int const last= int(u.size()) - 1; | 519| 3| for(int i= 0; i < last; ++i) os << u[i] << ","; | 520| 1| if(last >= 0) os << u[last]; | 521| 1| os << "]"; | 522| 1| return os; | 523| 1|} ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< , 0ul, gsl::v_stor>(std::basic_ostream >&, gsl::v_iface, 0ul, gsl::v_stor> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< , 0ul, gsl::v_stor>(std::basic_ostream >&, gsl::v_iface, 0ul, gsl::v_stor> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< , 0ul, gsl::v_stor>(std::basic_ostream >&, gsl::v_iface, 0ul, gsl::v_stor> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< (std::basic_ostream >&, gsl::v_iface const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< const, 0ul, gsl::v_view>(std::basic_ostream >&, gsl::v_iface const, 0ul, gsl::v_view> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< const, 0ul, gsl::v_view>(std::basic_ostream >&, gsl::v_iface const, 0ul, gsl::v_view> const&) ------------------ | Unexecuted instantiation: std::basic_ostream >& gsl::operator<< const, 0ul, gsl::v_view>(std::basic_ostream >&, gsl::v_iface const, 0ul, gsl::v_view> const&) ------------------ 524| | 525| | 526| |/// Linearly combine vector `x` into vector `y` in place. 527| |/// @tparam T1 Type of element in `x`. 528| |/// @tparam T2 Type of element in `y`. 529| |/// @tparam N1 Compile-time number of elements in `x`. 530| |/// @tparam N2 Compile-time number of elements in `y`. 531| |/// @tparam V1 Type of storage for `x`. 532| |/// @tparam V2 Type of storage for `y`. 533| |/// @param alpha Coeffient of `x`. 534| |/// @param x First vector (source). 535| |/// @param beta Coefficient of `y`. 536| |/// @param y Second vector and (source and destination). 537| |/// @return TBD: GSL's documentation does not specify. 538| |template< 539| | typename T1, 540| | typename T2, 541| | size_t N1, 542| | size_t N2, 543| | template 544| | class V1, 545| | template 546| | class V2> 547| |int axpby( 548| | T1 const &alpha, 549| | v_iface const &x, 550| | T2 const &beta, 551| 14| v_iface &y) { 552| 14| static_assert(N1 == N2 || N1 == 0 || N2 == 0); 553| 14| return w_axpby(alpha, x.v(), beta, y.v()); 554| 14|} ------------------ | int gsl::axpby(double const&, gsl::v_iface const&, double const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(float const&, gsl::v_iface const&, float const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(long double const&, gsl::v_iface const&, long double const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(int const&, gsl::v_iface const&, int const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(unsigned int const&, gsl::v_iface const&, unsigned int const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(long const&, gsl::v_iface const&, long const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(unsigned long const&, gsl::v_iface const&, unsigned long const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(short const&, gsl::v_iface const&, short const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(unsigned short const&, gsl::v_iface const&, unsigned short const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(char const&, gsl::v_iface const&, char const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby(unsigned char const&, gsl::v_iface const&, unsigned char const&, gsl::v_iface&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::complex const&, gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::complex const&, gsl::v_iface, 0ul, gsl::v_stor>&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::complex const&, gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::complex const&, gsl::v_iface, 0ul, gsl::v_stor>&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ | int gsl::axpby, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::complex const&, gsl::v_iface, 0ul, gsl::v_stor> const&, gsl::complex const&, gsl::v_iface, 0ul, gsl::v_stor>&): | 551| 1| v_iface &y) { | 552| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 553| 1| return w_axpby(alpha, x.v(), beta, y.v()); | 554| 1|} ------------------ 555| | 556| | 557| |/// Copy data from `src`, whose length must be same as that of `dst`. 558| |/// @tparam T1 Type of element in `dst`. 559| |/// @tparam T2 Type of element in `src`. 560| |/// @tparam N1 Compile-time number of elements in `dst`. 561| |/// @tparam N2 Compile-time number of elements in `src`. 562| |/// @tparam V1 Type of storage for `dst`. 563| |/// @tparam V2 Type of storage for `src`. 564| |/// @param dst Destination. 565| |/// @param src Source. 566| |/// @return TBD: GSL's documentation does not specify. 567| |template< 568| | typename T1, 569| | typename T2, 570| | size_t N1, 571| | size_t N2, 572| | template 573| | class V1, 574| | template 575| | class V2> 576| 743|int memcpy(v_iface &dst, v_iface const &src) { 577| 743| static_assert(N1 == N2 || N1 == 0 || N2 == 0); 578| 743| return w_memcpy(dst.v(), src.v()); 579| 743|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 11|int memcpy(v_iface &dst, v_iface const &src) { | 577| 11| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 11| return w_memcpy(dst.v(), src.v()); | 579| 11|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 10|int memcpy(v_iface &dst, v_iface const &src) { | 577| 10| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 10| return w_memcpy(dst.v(), src.v()); | 579| 10|} ------------------ | int gsl::memcpy, gsl::complex const, 3ul, 3ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface const, 3ul, gsl::v_view> const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 576| 9|int memcpy(v_iface &dst, v_iface const &src) { | 577| 9| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 9| return w_memcpy(dst.v(), src.v()); | 579| 9|} ------------------ | int gsl::memcpy, gsl::complex const, 3ul, 3ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface const, 3ul, gsl::v_view> const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 576| 9|int memcpy(v_iface &dst, v_iface const &src) { | 577| 9| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 9| return w_memcpy(dst.v(), src.v()); | 579| 9|} ------------------ | int gsl::memcpy, gsl::complex const, 3ul, 3ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface const, 3ul, gsl::v_view> const&): | 576| 22|int memcpy(v_iface &dst, v_iface const &src) { | 577| 22| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 22| return w_memcpy(dst.v(), src.v()); | 579| 22|} ------------------ | int gsl::memcpy, gsl::complex, 3ul, 3ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface, 3ul, gsl::v_stor> const&): | 576| 9|int memcpy(v_iface &dst, v_iface const &src) { | 577| 9| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 9| return w_memcpy(dst.v(), src.v()); | 579| 9|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 16|int memcpy(v_iface &dst, v_iface const &src) { | 577| 16| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 16| return w_memcpy(dst.v(), src.v()); | 579| 16|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 5|int memcpy(v_iface &dst, v_iface const &src) { | 577| 5| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 5| return w_memcpy(dst.v(), src.v()); | 579| 5|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 12|int memcpy(v_iface &dst, v_iface const &src) { | 577| 12| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 12| return w_memcpy(dst.v(), src.v()); | 579| 12|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 576| 14|int memcpy(v_iface &dst, v_iface const &src) { | 577| 14| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 14| return w_memcpy(dst.v(), src.v()); | 579| 14|} ------------------ | int gsl::memcpy, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 576| 14|int memcpy(v_iface &dst, v_iface const &src) { | 577| 14| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 14| return w_memcpy(dst.v(), src.v()); | 579| 14|} ------------------ | int gsl::memcpy, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy, gsl::complex const, 0ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 576| 14|int memcpy(v_iface &dst, v_iface const &src) { | 577| 14| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 14| return w_memcpy(dst.v(), src.v()); | 579| 14|} ------------------ | int gsl::memcpy, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface, 0ul, gsl::v_stor> const&): | 576| 4|int memcpy(v_iface &dst, v_iface const &src) { | 577| 4| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 4| return w_memcpy(dst.v(), src.v()); | 579| 4|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy, gsl::complex const, 6ul, 6ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 6ul, gsl::v_stor>&, gsl::v_iface const, 6ul, gsl::v_view> const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy, gsl::complex, 6ul, 6ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 6ul, gsl::v_stor>&, gsl::v_iface, 6ul, gsl::v_stor> const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy, gsl::complex const, 6ul, 6ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 6ul, gsl::v_stor>&, gsl::v_iface const, 6ul, gsl::v_view> const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy, gsl::complex, 6ul, 6ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 6ul, gsl::v_stor>&, gsl::v_iface, 6ul, gsl::v_stor> const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy, gsl::complex const, 6ul, 6ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 6ul, gsl::v_stor>&, gsl::v_iface const, 6ul, gsl::v_view> const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy, gsl::complex, 6ul, 6ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 6ul, gsl::v_stor>&, gsl::v_iface, 6ul, gsl::v_stor> const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy, gsl::complex const, 3ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy, gsl::complex const, 3ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy, gsl::complex const, 3ul, 0ul, gsl::v_stor, gsl::v_view>(gsl::v_iface, 3ul, gsl::v_stor>&, gsl::v_iface const, 0ul, gsl::v_view> const&): | 576| 2|int memcpy(v_iface &dst, v_iface const &src) { | 577| 2| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 2| return w_memcpy(dst.v(), src.v()); | 579| 2|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 3|int memcpy(v_iface &dst, v_iface const &src) { | 577| 3| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 3| return w_memcpy(dst.v(), src.v()); | 579| 3|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ | int gsl::memcpy(gsl::v_iface&, gsl::v_iface const&): | 576| 1|int memcpy(v_iface &dst, v_iface const &src) { | 577| 1| static_assert(N1 == N2 || N1 == 0 || N2 == 0); | 578| 1| return w_memcpy(dst.v(), src.v()); | 579| 1|} ------------------ 580| | 581| | 582| |/// Swap contents of one and other vector, each with same length. 583| |/// @tparam T1 Type of element in first vector. 584| |/// @tparam T2 Type of element in second vector. 585| |/// @tparam N1 Compile-time number of elements in first vector. 586| |/// @tparam N2 Compile-time number of elements in second vector. 587| |/// @tparam V1 Type of storage for first vector. 588| |/// @tparam V2 Type of storage for second vector. 589| |/// @param v1 Reference to first vector. 590| |/// @param v2 Reference to second vector. 591| |/// @return TBD: GSL's documentation does not specify. 592| |template< 593| | typename T1, 594| | typename T2, 595| | size_t N1, 596| | size_t N2, 597| | template 598| | class V1, 599| | template 600| | class V2> 601| 14|int swap(v_iface &v1, v_iface &v2) { 602| 14| return w_swap(v1.v(), v2.v()); 603| 14|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap(gsl::v_iface&, gsl::v_iface&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface, 0ul, gsl::v_stor>&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface, 0ul, gsl::v_stor>&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ | int gsl::swap, gsl::complex, 0ul, 0ul, gsl::v_stor, gsl::v_stor>(gsl::v_iface, 0ul, gsl::v_stor>&, gsl::v_iface, 0ul, gsl::v_stor>&): | 601| 1|int swap(v_iface &v1, v_iface &v2) { | 602| 1| return w_swap(v1.v(), v2.v()); | 603| 1|} ------------------ 604| | 605| | 606| |} // namespace gsl 607| | 608| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/vec/v-iterator.hpp: 1| |/// \file include/gslcpp/vec/v-iterator.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition for gsl::v_iterator. 4| | 5| |#pragma once 6| | 7| |#include // random_access_iterator_tag 8| | 9| |namespace gsl { 10| | 11| | 12| |/// Iterator for v_iface. There is no `operator->` because element is always 13| |/// of type double. Even if vector actually have non-const elements, const 14| |/// vector is treated as having const elements. 15| |/// @tparam V Either v_iface or v_iface const. 16| |template class v_iterator { 17| |public: 18| | /// Type of difference of two iterators. 19| | using difference_type= std::ptrdiff_t; 20| | 21| |private: 22| | V &vi_; ///< Reference to instance of container. 23| | difference_type off_; ///< Current offset pointed to in container. 24| | 25| | // Make each type of iterator be a friend to the other. 26| | template friend class v_iterator; 27| | 28| | /// Throw exception if each of two iterators point into different vector. 29| | /// @tparam B Type of vector for second iterator. 30| | /// @param b Second iterator. 31| 742| template void check_same_vector(v_iterator const &b) const { 32| 742| if(&vi_ != &b.vi_) { 33| 126| throw std::runtime_error("iterators for different vectors"); 34| 126| } 35| 742| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator >::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> >::check_same_vector, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> const>::check_same_vector, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> >::check_same_vector, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> const>::check_same_vector, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> >::check_same_vector, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 8| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> const>::check_same_vector, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 31| 36| template void check_same_vector(v_iterator const &b) const { | 32| 36| if(&vi_ != &b.vi_) { | 33| 0| throw std::runtime_error("iterators for different vectors"); | 34| 0| } | 35| 36| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator const>::check_same_vector >(gsl::v_iterator > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> const>::check_same_vector, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> const>::check_same_vector, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> const>::check_same_vector, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 31| 8| template void check_same_vector(v_iterator const &b) const { | 32| 8| if(&vi_ != &b.vi_) { | 33| 8| throw std::runtime_error("iterators for different vectors"); | 34| 8| } | 35| 8| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator >::check_same_vector const>(gsl::v_iterator const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> >::check_same_vector, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> >::check_same_vector, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ | void gsl::v_iterator, 3ul, gsl::v_stor> >::check_same_vector, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 31| 1| template void check_same_vector(v_iterator const &b) const { | 32| 1| if(&vi_ != &b.vi_) { | 33| 1| throw std::runtime_error("iterators for different vectors"); | 34| 1| } | 35| 1| } ------------------ 36| | 37| | /// Generic declaration for struct that gives type of vector's element. Even 38| | /// if vector actually have non-const elements, const vector is treated as 39| | /// having const elements. 40| | /// @tparam is_const True for constant-type element. 41| | template struct element; 42| | 43| | /// Specialization for constant type of element of vector. Even if vector 44| | /// actually have non-const elements, const vector is treated as having const 45| | /// elements. 46| | template<> struct element { using type= typename V::E const; }; 47| | 48| | /// Specialization for non-constant type of element for vector. Even if 49| | /// vector actually have non-const elements, const vector is treated as 50| | /// having const elements. 51| | template<> struct element { using type= typename V::E; }; 52| | 53| | /// Type of element for vector. Even if vector actually have non-const 54| | /// elements, const vector is treated as having const elements. 55| | using E= typename element>::type; 56| | 57| |public: 58| | using pointer= E *; ///< Type of pointer to element in container. 59| | using value_type= E; ///< Type of element in container. 60| | using reference= E &; ///< Type of reference to element in container. 61| | 62| | /// Indicate, to standard library, that iterator is random-access. 63| | using iterator_category= std::random_access_iterator_tag; 64| | 65| | /// Construct instance of iterator. 66| | /// @param vi Reference to container of element pointed to. 67| | /// @param off Offset of element pointed to in container. 68| 994| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator const>::v_iterator(gsl::v_iface const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::v_iface&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::v_iterator(gsl::v_iface, 3ul, gsl::v_stor> const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::v_iterator(gsl::v_iface, 3ul, gsl::v_stor>&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::v_iterator(gsl::v_iface, 3ul, gsl::v_stor> const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::v_iterator(gsl::v_iface, 3ul, gsl::v_stor>&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::v_iterator(gsl::v_iface, 3ul, gsl::v_stor> const&, long): | 68| 45| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::v_iterator(gsl::v_iface, 3ul, gsl::v_stor>&, long): | 68| 23| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator >::v_iterator(gsl::vector&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul> >::v_iterator(gsl::vector, 3ul>&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul> >::v_iterator(gsl::vector, 3ul>&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ | gsl::v_iterator, 3ul> >::v_iterator(gsl::vector, 3ul>&, long): | 68| 3| v_iterator(V &vi, difference_type off): vi_(vi), off_(off) {} ------------------ 69| | 70| | /// Dereference iterator. 71| | /// @return Reference to element pointed to by iterator. 72| 392| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator*() const: | 72| 17| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator*() const: | 72| 9| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul> >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul> >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ | gsl::v_iterator, 3ul> >::operator*() const: | 72| 2| reference operator*() const { return vi_[off_]; } ------------------ 73| | 74| | /// Dereference element at offset from element pointed to by iterator. 75| | /// @param i Offset from element pointed to by iterator. 76| | /// @return Reference to element at offset `i` from current element. 77| 70| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator, 3ul> >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator, 3ul> >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ | gsl::v_iterator, 3ul> >::operator[](long) const: | 77| 5| reference operator[](difference_type i) const { return vi_[off_ + i]; } ------------------ 78| | 79| | /// Increment offset of element pointed to. 80| | /// @return Reference to this instance after increment of offset. 81| 350| v_iterator &operator++() { 82| 350| ++off_; 83| 350| return *this; 84| 350| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator++(): | 81| 5| v_iterator &operator++() { | 82| 5| ++off_; | 83| 5| return *this; | 84| 5| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator++(): | 81| 20| v_iterator &operator++() { | 82| 20| ++off_; | 83| 20| return *this; | 84| 20| } ------------------ 85| | 86| | /// Increment offset of element pointed to. 87| | /// @return Copy of this instance made before increment of offset. 88| 70| v_iterator operator++(int) { 89| 70| v_iterator tmp= *this; 90| 70| ++(*this); // Call prefix-increment! 91| 70| return tmp; 92| 70| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator++(int): | 88| 2| v_iterator operator++(int) { | 89| 2| v_iterator tmp= *this; | 90| 2| ++(*this); // Call prefix-increment! | 91| 2| return tmp; | 92| 2| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator++(int): | 88| 3| v_iterator operator++(int) { | 89| 3| v_iterator tmp= *this; | 90| 3| ++(*this); // Call prefix-increment! | 91| 3| return tmp; | 92| 3| } ------------------ 93| | 94| | /// Decrement offset of element pointed to. 95| | /// @return Reference to this instance after decrement of offset. 96| 28| v_iterator &operator--() { 97| 28| --off_; 98| 28| return *this; 99| 28| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator--(): | 96| 2| v_iterator &operator--() { | 97| 2| --off_; | 98| 2| return *this; | 99| 2| } ------------------ 100| | 101| | /// Decrement offset of element pointed to. 102| | /// @return Copy of this instance made before decrement of offset. 103| 14| v_iterator operator--(int) { 104| 14| v_iterator tmp= *this; 105| 14| --(*this); // Call prefix-decrement! 106| 14| return tmp; 107| 14| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator--(int): | 103| 1| v_iterator operator--(int) { | 104| 1| v_iterator tmp= *this; | 105| 1| --(*this); // Call prefix-decrement! | 106| 1| return tmp; | 107| 1| } ------------------ 108| | 109| | /// For positive `n`, increase, by `n`, offset of element pointed to. This 110| | /// is like fast forward in place for an iterator. Do nothing when `n == 0`. 111| | /// Actually decrease offset when `n < 0`. 112| | /// @param n Number by which to increase offset. 113| | /// @return Reference to this instance after increase of offset. 114| 126| v_iterator &operator+=(difference_type n) { 115| 126| off_+= n; 116| 126| return *this; 117| 126| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> >::operator+=(long): | 114| 2| v_iterator &operator+=(difference_type n) { | 115| 2| off_+= n; | 116| 2| return *this; | 117| 2| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator+=(long): | 114| 7| v_iterator &operator+=(difference_type n) { | 115| 7| off_+= n; | 116| 7| return *this; | 117| 7| } ------------------ 118| | 119| | /// For positive `n`, decrease, by `n`, offset of element pointed to. This 120| | /// is like fast reverse in place for an iterator. Do nothing when `n == 0`. 121| | /// Actually increase offset when `n < 0`. 122| | /// @param n Number by which to decrease offset. 123| | /// @return Reference to this instance after decrease of offset. 124| 70| v_iterator &operator-=(difference_type n) { 125| 70| off_-= n; 126| 70| return *this; 127| 70| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ | gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-=(long): | 124| 5| v_iterator &operator-=(difference_type n) { | 125| 5| off_-= n; | 126| 5| return *this; | 127| 5| } ------------------ 128| | 129| | /// Produce new iterator at offset greater than that of existing iterator. 130| | /// This is like fast forward for an iterator. 131| | /// @param i Iterator. 132| | /// @param n Offset. 133| | /// @return Iterator whose internal offset is `n` more than that of `i`. 134| 112| friend v_iterator operator+(v_iterator i, difference_type n) { 135| 112| i+= n; 136| 112| return i; 137| 112| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator, 3ul, gsl::v_stor> >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator, 3ul, gsl::v_stor> >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator, 3ul, gsl::v_stor> >, long): | 134| 2| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 2| i+= n; | 136| 2| return i; | 137| 2| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator, 3ul, gsl::v_stor> const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator, 3ul, gsl::v_stor> const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ | gsl::operator+(gsl::v_iterator, 3ul, gsl::v_stor> const>, long): | 134| 6| friend v_iterator operator+(v_iterator i, difference_type n) { | 135| 6| i+= n; | 136| 6| return i; | 137| 6| } ------------------ 138| | 139| | /// Produce new iterator at offset greater than that of existing iterator. 140| | /// This is like fast forward for an iterator. 141| | /// @param n Offset. 142| | /// @param i Iterator. 143| | /// @return Iterator whose internal offset is `n` more than that of `i`. 144| 14| friend v_iterator operator+(difference_type n, v_iterator i) { 145| 14| return i + n; 146| 14| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator, 3ul, gsl::v_stor> const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator, 3ul, gsl::v_stor> const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ | gsl::operator+(long, gsl::v_iterator, 3ul, gsl::v_stor> const>): | 144| 1| friend v_iterator operator+(difference_type n, v_iterator i) { | 145| 1| return i + n; | 146| 1| } ------------------ 147| | 148| | /// Produce new iterator at offset less than that of existing iterator. This 149| | /// is like fast reverse for an iterator. 150| | /// @param i Iterator. 151| | /// @param n Offset. 152| | /// @return Iterator whose internal offset is `n` less than that of `i`. 153| 56| friend v_iterator operator-(v_iterator i, difference_type n) { 154| 56| i-= n; 155| 56| return i; 156| 56| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator, 3ul, gsl::v_stor> const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator, 3ul, gsl::v_stor> const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ | gsl::operator-(gsl::v_iterator, 3ul, gsl::v_stor> const>, long): | 153| 4| friend v_iterator operator-(v_iterator i, difference_type n) { | 154| 4| i-= n; | 155| 4| return i; | 156| 4| } ------------------ 157| | 158| | /// Difference in offset between two iterators. Throw runtime_error if 159| | /// iterators do not point into same vector. 160| | /// @tparam I Type of vector for iterator with offset to subtract. 161| | /// @param i Iterator with offset to subtract. 162| | /// @return Difference between offset of this iterator and offset of `i`. 163| | template 164| 98| difference_type operator-(v_iterator const &i) const { 165| 98| check_same_vector(i); 166| 98| return off_ - i.off_; 167| 98| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator >::operator- >(gsl::v_iterator > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator const>::operator- const>(gsl::v_iterator const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> >::operator-, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> >::operator-, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> >::operator-, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 164| 4| difference_type operator-(v_iterator const &i) const { | 165| 4| check_same_vector(i); | 166| 4| return off_ - i.off_; | 167| 4| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 164| 2| difference_type operator-(v_iterator const &i) const { | 165| 2| check_same_vector(i); | 166| 2| return off_ - i.off_; | 167| 2| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator const>::operator- >(gsl::v_iterator > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ | long gsl::v_iterator, 3ul, gsl::v_stor> const>::operator-, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 164| 1| difference_type operator-(v_iterator const &i) const { | 165| 1| check_same_vector(i); | 166| 1| return off_ - i.off_; | 167| 1| } ------------------ 168| | 169| | /// Compare two iterators for equality. Throw runtime_error if iterators do 170| | /// not point into same vector. 171| | /// @tparam B Type of vector for second iterator. 172| | /// @param b Second iterator. 173| | /// @return True only if this and second iterator point to same element. 174| 84| template bool operator==(v_iterator const &b) const { 175| 84| check_same_vector(b); 176| 84| return off_ == b.off_; 177| 84| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator const>::operator== const>(gsl::v_iterator const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator const>::operator== >(gsl::v_iterator > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator==, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator==, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator==, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator==, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator==, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 174| 3| template bool operator==(v_iterator const &b) const { | 175| 3| check_same_vector(b); | 176| 3| return off_ == b.off_; | 177| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator==, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 174| 2| template bool operator==(v_iterator const &b) const { | 175| 2| check_same_vector(b); | 176| 2| return off_ == b.off_; | 177| 2| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator >::operator== const>(gsl::v_iterator const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> >::operator==, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> >::operator==, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> >::operator==, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 174| 1| template bool operator==(v_iterator const &b) const { | 175| 1| check_same_vector(b); | 176| 1| return off_ == b.off_; | 177| 1| } ------------------ 178| | 179| | /// Compare two iterators for inequality. Throw runtime_error if iterators 180| | /// do not point into same vector. 181| | /// @tparam B Type of vector for second iterator. 182| | /// @param b Second iterator. 183| | /// @return True only if this and second do not point to same element. 184| 336| template bool operator!=(v_iterator const &b) const { 185| 336| check_same_vector(b); 186| 336| return off_ != b.off_; 187| 336| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator >::operator!= >(gsl::v_iterator > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> >::operator!=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> >::operator!=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> >::operator!=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 184| 4| template bool operator!=(v_iterator const &b) const { | 185| 4| check_same_vector(b); | 186| 4| return off_ != b.off_; | 187| 4| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= const>(gsl::v_iterator const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator!=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator!=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator!=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 184| 19| template bool operator!=(v_iterator const &b) const { | 185| 19| check_same_vector(b); | 186| 19| return off_ != b.off_; | 187| 19| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator const>::operator!= >(gsl::v_iterator > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator!=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator!=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator!=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 184| 1| template bool operator!=(v_iterator const &b) const { | 185| 1| check_same_vector(b); | 186| 1| return off_ != b.off_; | 187| 1| } ------------------ 188| | 189| | /// Compare two iterators for ordering. Throw runtime_error if iterators do 190| | /// not point into same vector. 191| | /// @tparam B Type of vector for second iterator. 192| | /// @param b Second iterator. 193| | /// @return True only if this iterator point to element earlier in vector 194| | /// than element pointed to by second iterator. 195| 56| template bool operator<(v_iterator const &b) const { 196| 56| check_same_vector(b); 197| 56| return off_ < b.off_; 198| 56| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator const>::operator< const>(gsl::v_iterator const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator const>::operator< >(gsl::v_iterator > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator< , 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator< , 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator< , 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator< , 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator< , 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 195| 3| template bool operator<(v_iterator const &b) const { | 196| 3| check_same_vector(b); | 197| 3| return off_ < b.off_; | 198| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator< , 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 195| 1| template bool operator<(v_iterator const &b) const { | 196| 1| check_same_vector(b); | 197| 1| return off_ < b.off_; | 198| 1| } ------------------ 199| | 200| | /// Compare two iterators for ordering. Throw runtime_error if iterators do 201| | /// not point into same vector. 202| | /// @tparam B Type of vector for second iterator. 203| | /// @param b Second iterator. 204| | /// @return True only if this iterator point to element later in vector 205| | /// than element pointed to by second iterator. 206| 56| template bool operator>(v_iterator const &b) const { 207| 56| check_same_vector(b); 208| 56| return off_ > b.off_; 209| 56| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator const>::operator> const>(gsl::v_iterator const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator const>::operator> >(gsl::v_iterator > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 206| 3| template bool operator>(v_iterator const &b) const { | 207| 3| check_same_vector(b); | 208| 3| return off_ > b.off_; | 209| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 206| 1| template bool operator>(v_iterator const &b) const { | 207| 1| check_same_vector(b); | 208| 1| return off_ > b.off_; | 209| 1| } ------------------ 210| | 211| | /// Compare two iterators for ordering. Throw runtime_error if iterators do 212| | /// not point into same vector. 213| | /// @tparam B Type of vector for second iterator. 214| | /// @param b Second iterator. 215| | /// @return True only if this iterator point to element either same as or 216| | /// earlier in vector than element pointed to by second iterator. 217| 56| template bool operator<=(v_iterator const &b) const { 218| 56| check_same_vector(b); 219| 56| return off_ <= b.off_; 220| 56| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator const>::operator<= const>(gsl::v_iterator const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator const>::operator<= >(gsl::v_iterator > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator<=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator<=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator<=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator<=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator<=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 217| 3| template bool operator<=(v_iterator const &b) const { | 218| 3| check_same_vector(b); | 219| 3| return off_ <= b.off_; | 220| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator<=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 217| 1| template bool operator<=(v_iterator const &b) const { | 218| 1| check_same_vector(b); | 219| 1| return off_ <= b.off_; | 220| 1| } ------------------ 221| | 222| | /// Compare two iterators for ordering. Throw runtime_error if iterators do 223| | /// not point into same vector. 224| | /// @tparam B Type of vector for second iterator. 225| | /// @param b Second iterator. 226| | /// @return True only if this iterator point to element either same as or 227| | /// later in vector than element pointed to by second iterator. 228| 56| template bool operator>=(v_iterator const &b) const { 229| 56| check_same_vector(b); 230| 56| return off_ >= b.off_; 231| 56| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator const>::operator>= const>(gsl::v_iterator const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator const>::operator>= >(gsl::v_iterator > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>=, 3ul, gsl::v_stor> const>(gsl::v_iterator, 3ul, gsl::v_stor> const> const&) const: | 228| 3| template bool operator>=(v_iterator const &b) const { | 229| 3| check_same_vector(b); | 230| 3| return off_ >= b.off_; | 231| 3| } ------------------ | bool gsl::v_iterator, 3ul, gsl::v_stor> const>::operator>=, 3ul, gsl::v_stor> >(gsl::v_iterator, 3ul, gsl::v_stor> > const&) const: | 228| 1| template bool operator>=(v_iterator const &b) const { | 229| 1| check_same_vector(b); | 230| 1| return off_ >= b.off_; | 231| 1| } ------------------ 232| |}; 233| | 234| | 235| |} // namespace gsl 236| | 237| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/vec/v-stor.hpp: 1| |/// \file include/gslcpp/vec/v-stor.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition for gsl::v_stor. 4| | 5| |#pragma once 6| |#include "../wrap/free.hpp" // w_free 7| |#include "../wrap/vector-alloc.hpp" // w_vector_alloc 8| |#include "../wrap/vector-calloc.hpp" // w_vector_calloc 9| |#include "../wrap/vector-view-array.hpp" // vector_view_array 10| | 11| |namespace gsl { 12| | 13| | 14| |/// Generic %v_stor is interface to storage with two key properties: 15| |/// (1) that size of storage is known statically, at compile-time, and 16| |/// (2) that it is owned by instance of %v_stor. 17| |/// 18| |/// Specialization gsl::v_stor is for storage-size determined at run-time. 19| |/// 20| |/// @tparam T Type of each element in vector. 21| |/// @tparam S Compile-time size of vector (0 for size specified at run-time). 22| |template class v_stor { 23| | static_assert(S > 0); 24| | 25| | T d_[S]; ///< Storage for data. 26| | w_vector_view cview_; ///< GSL's view of data. 27| | 28| | v_stor(v_stor const &)= delete; ///< Disable copy-construction. 29| | v_stor &operator=(v_stor const &)= delete; ///< Disable copy-assignment. 30| | 31| |public: 32| | /// Initialize GSL's view of static storage, but do not initialize elements. 33| | /// If number `n` of elements intended for vector be not `S`, then throw. 34| | /// \param n Number of elements intended for vector. 35| 618| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { 36| 618| if(n != S) throw "mismatch in size"; 37| 618| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 44| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 44| if(n != S) throw "mismatch in size"; | 37| 44| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 42| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 42| if(n != S) throw "mismatch in size"; | 37| 42| } ------------------ | gsl::v_stor, 3ul>::v_stor(unsigned long): | 35| 41| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 41| if(n != S) throw "mismatch in size"; | 37| 41| } ------------------ | gsl::v_stor, 3ul>::v_stor(unsigned long): | 35| 41| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 41| if(n != S) throw "mismatch in size"; | 37| 41| } ------------------ | gsl::v_stor, 3ul>::v_stor(unsigned long): | 35| 41| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 41| if(n != S) throw "mismatch in size"; | 37| 41| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor, 6ul>::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor, 6ul>::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor, 6ul>::v_stor(unsigned long): | 35| 2| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 2| if(n != S) throw "mismatch in size"; | 37| 2| } ------------------ | gsl::v_stor::v_stor(unsigned long): | 35| 3| v_stor(size_t n= S): cview_(w_vector_view_array(d_, 1, S)) { | 36| 3| if(n != S) throw "mismatch in size"; | 37| 3| } ------------------ 38| | 39| | /// Pointer to GSL's interface to vector. 40| | /// @return Pointer to GSL's interface to vector. 41| 3.54k| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 240| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 238| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor, 3ul>::v(): | 41| 236| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor, 3ul>::v(): | 41| 236| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor, 3ul>::v(): | 41| 236| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor, 6ul>::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor, 6ul>::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor, 6ul>::v(): | 41| 13| auto *v() { return &cview_.vector; } ------------------ | gsl::v_stor::v(): | 41| 37| auto *v() { return &cview_.vector; } ------------------ 42| | 43| | /// Pointer to GSL's interface to vector. 44| | /// @return Pointer to GSL's interface to immutable vector. 45| 2.30k| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 164| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 163| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor, 3ul>::v() const: | 45| 156| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor, 3ul>::v() const: | 45| 156| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor, 3ul>::v() const: | 45| 156| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor, 6ul>::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor, 6ul>::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor, 6ul>::v() const: | 45| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_stor::v() const: | 45| 2| auto const *v() const { return &cview_.vector; } ------------------ 46| |}; 47| | 48| | 49| |/// Identifier for each of two possible allocation-methods. 50| |enum alloc_type { 51| | ALLOC, ///< Just allocate without initialization. 52| | CALLOC ///< Initialize each element to zero after allocation. 53| |}; 54| | 55| | 56| |/// Specialization, which is interface to storage with two key properties: 57| |/// (1) that size of storage is determined dynamically, at run-time, and 58| |/// (2) that it is owned by instance of interface. 59| |/// 60| |/// Generic gsl::v_stor is for storage-size `S` determined at 61| |/// compile-time. 62| |/// 63| |/// Move-construction is provided, but move-assignment is not. Once memory is 64| |/// allocated for a vector, that memory and only that memory belongs to the 65| |/// vector until it is destroyed. 66| |/// 67| |/// @tparam T Type of each element in vector. 68| |template class v_stor { 69| | v_stor(v_stor const &)= delete; ///< Disable copy-construction. 70| | v_stor &operator=(v_stor const &)= delete; ///< Disable copy-assignment. 71| | 72| |protected: 73| | /// Pointer to allocated descriptor for vector. 74| | w_vector *v_= nullptr; 75| | 76| | /// Deallocate vector and its descriptor. 77| 542| void free() { 78| 542| if(v_) w_free(v_); 79| 542| v_= nullptr; 80| 542| } ------------------ | gsl::v_stor::free(): | 77| 49| void free() { | 78| 49| if(v_) w_free(v_); | 79| 49| v_= nullptr; | 80| 49| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor::free(): | 77| 37| void free() { | 78| 37| if(v_) w_free(v_); | 79| 37| v_= nullptr; | 80| 37| } ------------------ | gsl::v_stor, 0ul>::free(): | 77| 41| void free() { | 78| 41| if(v_) w_free(v_); | 79| 41| v_= nullptr; | 80| 41| } ------------------ | gsl::v_stor, 0ul>::free(): | 77| 41| void free() { | 78| 41| if(v_) w_free(v_); | 79| 41| v_= nullptr; | 80| 41| } ------------------ | gsl::v_stor, 0ul>::free(): | 77| 41| void free() { | 78| 41| if(v_) w_free(v_); | 79| 41| v_= nullptr; | 80| 41| } ------------------ 81| | 82| | /// Allocate vector and its descriptor. 83| | /// \param n Number of elements in vector. 84| | /// \param a Type of allocation (simple or initialized to zero). 85| | /// \return Pointer to vector's descriptor. 86| 264| w_vector *allocate(size_t n, alloc_type a) { 87| 264| free(); 88| 264| if(a == ALLOC) return w_vector_alloc(n); 89| 14| return w_vector_calloc(n); 90| 14| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 24| w_vector *allocate(size_t n, alloc_type a) { | 87| 24| free(); | 88| 24| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor::allocate(unsigned long, gsl::alloc_type): | 86| 18| w_vector *allocate(size_t n, alloc_type a) { | 87| 18| free(); | 88| 18| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor, 0ul>::allocate(unsigned long, gsl::alloc_type): | 86| 20| w_vector *allocate(size_t n, alloc_type a) { | 87| 20| free(); | 88| 20| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor, 0ul>::allocate(unsigned long, gsl::alloc_type): | 86| 20| w_vector *allocate(size_t n, alloc_type a) { | 87| 20| free(); | 88| 20| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ | gsl::v_stor, 0ul>::allocate(unsigned long, gsl::alloc_type): | 86| 20| w_vector *allocate(size_t n, alloc_type a) { | 87| 20| free(); | 88| 20| if(a == ALLOC) return w_vector_alloc(n); | 89| 1| return w_vector_calloc(n); | 90| 1| } ------------------ 91| | 92| |public: 93| | /// Allocate vector and its descriptor. 94| | /// @param n Number of elements in vector. 95| | /// @param a Method to use for allocation. 96| 264| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 24| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor::v_stor(unsigned long, gsl::alloc_type): | 96| 18| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor, 0ul>::v_stor(unsigned long, gsl::alloc_type): | 96| 20| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor, 0ul>::v_stor(unsigned long, gsl::alloc_type): | 96| 20| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ | gsl::v_stor, 0ul>::v_stor(unsigned long, gsl::alloc_type): | 96| 20| v_stor(size_t n, alloc_type a= ALLOC) { v_= allocate(n, a); } ------------------ 97| | 98| | /// True if object's data have been validly allocated. 99| | /// \return True if object's data have been validly allocated. 100| 14| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor, 0ul>::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor, 0ul>::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ | gsl::v_stor, 0ul>::valid() const: | 100| 1| bool valid() const { return v_!= nullptr; } ------------------ 101| | 102| | /// Reference to GSL's interface to vector. 103| | /// @return Reference to GSL's interface to vector. 104| 1.23k| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 100| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor::v(): | 104| 85| auto *v() { return v_; } ------------------ | gsl::v_stor, 0ul>::v(): | 104| 95| auto *v() { return v_; } ------------------ | gsl::v_stor, 0ul>::v(): | 104| 95| auto *v() { return v_; } ------------------ | gsl::v_stor, 0ul>::v(): | 104| 95| auto *v() { return v_; } ------------------ 105| | 106| | /// Reference to GSL's interface to vector. 107| | /// @return Reference to GSL's interface to immutable vector. 108| 650| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 62| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor::v() const: | 108| 45| auto const *v() const { return v_; } ------------------ | gsl::v_stor, 0ul>::v() const: | 108| 46| auto const *v() const { return v_; } ------------------ | gsl::v_stor, 0ul>::v() const: | 108| 46| auto const *v() const { return v_; } ------------------ | gsl::v_stor, 0ul>::v() const: | 108| 46| auto const *v() const { return v_; } ------------------ 109| | 110| | /// Move on construction. 111| | /// Constructor is not template because moving works only from other %v_stor. 112| | /// \param src Vector to move. 113| 14| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor::v_stor(gsl::v_stor&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor, 0ul>::v_stor(gsl::v_stor, 0ul>&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor, 0ul>::v_stor(gsl::v_stor, 0ul>&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ | gsl::v_stor, 0ul>::v_stor(gsl::v_stor, 0ul>&&): | 113| 1| v_stor(v_stor &&src): v_(src.v_) { src.v_= nullptr; } ------------------ 114| | 115| | /// Deallocate vector and its descriptor. 116| 278| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 25| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor::~v_stor(): | 116| 19| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor, 0ul>::~v_stor(): | 116| 21| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor, 0ul>::~v_stor(): | 116| 21| virtual ~v_stor() { free(); } ------------------ | gsl::v_stor, 0ul>::~v_stor(): | 116| 21| virtual ~v_stor() { free(); } ------------------ 117| |}; 118| | 119| | 120| |} // namespace gsl 121| | 122| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/vec/v-view.hpp: 1| |/// \file include/gslcpp/vec/v-view.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition for gsl::view. 4| | 5| |#pragma once 6| |#include "../wrap/container.hpp" // w_vector_view 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Interface to vector-storage not owned by interface. 12| |/// 13| |/// %v_view can serve as template-type parameter for (and thus base of) 14| |/// vec::iface. 15| |/// 16| |/// @tparam T Type of each element in vector. 17| |template class v_view { 18| | w_vector_view cview_; ///< GSL's view of data outside instance. 19| | 20| |public: 21| | /// Reference to GSL's interface to vector. 22| | /// @return Reference to GSL's interface to vector. 23| 676| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 41| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view, 6ul>::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view, 6ul>::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view, 6ul>::v(): | 23| 27| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view const, 6ul>::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view const, 6ul>::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view const, 6ul>::v(): | 23| 8| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 9| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 9| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 9| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view const, 0ul>::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view, 0ul>::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view const, 0ul>::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view, 0ul>::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view const, 0ul>::v(): | 23| 2| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view, 0ul>::v(): | 23| 3| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 12| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 12| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 12| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ | gsl::v_view::v(): | 23| 6| auto *v() { return &cview_.vector; } ------------------ 24| | 25| | /// Reference to GSL's interface to vector. 26| | /// @return Reference to GSL's interface to immutable vector. 27| 824| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 3ul>::v() const: | 27| 23| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 3ul>::v() const: | 27| 23| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 3ul>::v() const: | 27| 23| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 52| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 21| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 0ul>::v() const: | 27| 23| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 0ul>::v() const: | 27| 23| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 0ul>::v() const: | 27| 23| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 40| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 6ul>::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 6ul>::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view const, 6ul>::v() const: | 27| 1| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 12| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 12| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 12| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 8| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 6| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 3| auto const *v() const { return &cview_.vector; } ------------------ | gsl::v_view::v() const: | 27| 22| auto const *v() const { return &cview_.vector; } ------------------ 28| | 29| | /// Constructor called by TBS. 30| | /// @param v View to copy. 31| 726| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_float_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_double_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_int_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uint_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ulong_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_short_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ushort_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_char_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uchar_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 3ul>::v_view(_gsl_vector_complex_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 3ul>::v_view(_gsl_vector_complex_float_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 3ul>::v_view(_gsl_vector_complex_long_double_const_view const&): | 31| 23| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_view const&): | 31| 8| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_float_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_double_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_int_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uint_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ulong_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_short_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ushort_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_char_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uchar_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view, 6ul>::v_view(_gsl_vector_complex_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view, 6ul>::v_view(_gsl_vector_complex_float_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view, 6ul>::v_view(_gsl_vector_complex_long_double_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_const_view const&): | 31| 5| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_float_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_double_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_int_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uint_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ulong_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_short_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ushort_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_char_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uchar_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 6ul>::v_view(_gsl_vector_complex_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 6ul>::v_view(_gsl_vector_complex_float_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 6ul>::v_view(_gsl_vector_complex_long_double_const_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_const_view const&): | 31| 21| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_float_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_float_view const&): | 31| 3| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_double_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_double_view const&): | 31| 3| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_int_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_int_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uint_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uint_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ulong_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ulong_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_short_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_short_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ushort_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ushort_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_char_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_char_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uchar_const_view const&): | 31| 16| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uchar_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 0ul>::v_view(_gsl_vector_complex_const_view const&): | 31| 18| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view, 0ul>::v_view(_gsl_vector_complex_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 0ul>::v_view(_gsl_vector_complex_float_const_view const&): | 31| 18| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view, 0ul>::v_view(_gsl_vector_complex_float_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view const, 0ul>::v_view(_gsl_vector_complex_long_double_const_view const&): | 31| 18| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view, 0ul>::v_view(_gsl_vector_complex_long_double_view const&): | 31| 1| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_float_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_double_view const&): | 31| 4| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_int_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uint_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_long_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ulong_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_short_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_ushort_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_char_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_uchar_view const&): | 31| 2| v_view(w_vector_view const &v): cview_(v) {} ------------------ | gsl::v_view::v_view(_gsl_vector_const_view const&): | 31| 3| v_view(w_vector_view const &v): cview_(v) {} ------------------ 32| | 33| | /// GSL's native, C-language interface to vector-view. 34| | /// @return GSL's native, C-language interface to vector-view. 35| | auto &cview() const { return cview_; } 36| |}; 37| | 38| | 39| |} // namespace gsl 40| | 41| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/vector-view.hpp: 1| |/// \file include/gslcpp/vector-view.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition for gsl::vector_view. 4| | 5| |#pragma once 6| |#include "vec/v-iface.hpp" // v_iface 7| |#include "wrap/vector-view-array.hpp" // w_vector_view_array 8| | 9| |/// Namespace for C++-interface to GSL. 10| |namespace gsl { 11| | 12| | 13| |/// Constructor-type for vector-by-reference whose storage is *not* owned by 14| |/// instance of view. 15| |/// 16| |/// Despite its name, %vector_view allows both viewing and modifying data that 17| |/// it refers to. These data are presented as if they were in a virtual vector 18| |/// represented by the intance. 19| |/// 20| |/// %vector_view has its interface to storage given by gsl::v_view, and most of 21| |/// the ordinary vector-interface is given by gsl::v_iface. 22| |/// 23| |/// %vector_view inherits these and provides template-constructors for an 24| |/// instance of type gsl::v_iface. 25| |/// 26| |/// - One constructor is from a normal, decayed pointer and a length (and 27| |/// optionally a stride). 28| |/// 29| |/// - The other is from a non-decayed C-style array (which still retains 30| |/// information about its length). 31| |/// 32| |/// Template-value-parameter `S` indicates the number of elements in the vector 33| |/// at compile-time. If `S` be zero, then the number of elements in the vector 34| |/// is determined at run-time. 35| |/// 36| |/// When using %vector_view, one typically does not need to specify 37| |/// template-parameters: 38| |/// 39| |/// ~~~{.cpp} 40| |/// #include 41| |/// 42| |/// int main() { 43| |/// double g[]= {1, 2, 3, 4, 5, 6}; 44| |/// 45| |/// // Deduce vector_view with stride=1: 46| |/// gsl::vector_view v1= g; 47| |/// 48| |/// // Deduce vector_view with three elements and stride=2: 49| |/// gsl::vector_view v2(g, 3, 2); 50| |/// 51| |/// v2[1]= 10; // Now g[2] is no longer 3 but 10. 52| |/// 53| |/// // Deduce vector_view with three elements and stride=2: 54| |/// double const *h= g; 55| |/// gsl::vector_view v3(h, 3, 2); // Only fetching allowed, not setting. 56| |/// 57| |/// return 0; 58| |/// } 59| |/// ~~~ 60| |/// 61| |/// @tparam T Type of each element in vector. 62| |/// @tparam S Compile-time number of elements (0 for number set at run-time). 63| |template 64| |struct vector_view: public v_iface { 65| | using P= v_iface; ///< Type of ancestor. 66| | using P::P; 67| | 68| | /// Initialize view of standard (decayed) C-array. 69| | /// 70| | /// Arguments are ordered differently from those given to 71| | /// gsl_vector_viewiew_array_with_stride(). Putting stride at *end* allows 72| | /// it to have default value of 1. 73| | /// 74| | /// \param b Pointer to first element of array and of view. 75| | /// \param n Number of elements in view. 76| | /// \param s Stride of elements relative to array. 77| 1| vector_view(T *b, size_t n, size_t s= 1): P(w_vector_view_array(b, s, n)) {} 78| | 79| | /// Initialize view of non-decayed C-array. 80| | /// \param b Reference to non-decayed C-array. 81| 31| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(double (&) [6]): | 81| 3| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(float (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(long double (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(int (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned int (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(long (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned long (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(short (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned short (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(char (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned char (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view, 6ul>::vector_view(gsl::complex (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view, 6ul>::vector_view(gsl::complex (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view, 6ul>::vector_view(gsl::complex (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(double const (&) [6]): | 81| 2| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(float const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(long double const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(int const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned int const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(long const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned long const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(short const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned short const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(char const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view::vector_view(unsigned char const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view const, 6ul>::vector_view(gsl::complex const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view const, 6ul>::vector_view(gsl::complex const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ | gsl::vector_view const, 6ul>::vector_view(gsl::complex const (&) [6]): | 81| 1| vector_view(T (&b)[S]): P(w_vector_view_array(b, 1, S)) {} ------------------ 82| |}; 83| | 84| | 85| |} // namespace gsl 86| | 87| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/vector.hpp: 1| |/// \dir include/gslcpp 2| |/// \brief Top-level directory for gslcpp's header-only library. 3| | 4| |/// \file include/gslcpp/vector.hpp 5| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 6| |/// \brief Definition for gsl::vector. 7| | 8| |#pragma once 9| | 10| |#include "vec/v-iface.hpp" // v_iface 11| |#include "vec/v-stor.hpp" // v_stor 12| | 13| |namespace gsl { 14| | 15| | 16| |using std::enable_if_t; 17| |using std::is_const_v; 18| | 19| | 20| |/// Constructor-type for vector whose storage is owned by instance of vector. 21| |/// 22| |/// %vector has its interface to storage given by gsl::v_stor, and most of the 23| |/// ordinary vector-interface is given by gsl::v_iface. 24| |/// 25| |/// %vector inherits these and provides template-constructors for an instance 26| |/// of type gsl::v_iface. 27| |/// 28| |/// Each constructor copies data from the source or (in the case of the 29| |/// move-constructor, when both the source is an r-value with `S = 0`, and the 30| |/// destination has `S = 0`) *moves* the data into the instance. 31| |/// 32| |/// Template-value-parameter `S` indicates the number of elements in the vector 33| |/// at compile-time. If `S` be zero, then the number of elements in the vector 34| |/// is determined at run-time. 35| |/// 36| |/// Although move-construction is provided, move-assignment is *not* provided. 37| |/// Once a chunk of memory is allocated to a vector, that same chunk, and only 38| |/// ever that chunk, is associated with the vector until it is destroyed. 39| |/// 40| |/// When using %vector, one typically does not need to specify 41| |/// template-parameters: 42| |/// 43| |/// ~~~{.cpp} 44| |/// #include 45| |/// 46| |/// int main() { 47| |/// double g[]= {1, 2, 3, 4, 5, 6}; 48| |/// 49| |/// // Deduce vector with stride=1, and copy the data: 50| |/// gsl::vector v1= g; 51| |/// 52| |/// // Deduce vector with three elements and stride=2, and copy 53| |/// // the data: 54| |/// gsl::vector v2(g, 3, 2); 55| |/// 56| |/// // Deduce vector with three elements and stride=2, and 57| |/// // copy the data: 58| |/// double const *h= g; 59| |/// gsl::vector v3(h, 3, 2); 60| |/// 61| |/// return 0; 62| |/// } 63| |/// ~~~ 64| |/// 65| |/// \tparam T Type of each element in vector. 66| |/// \tparam S Compile-time number of elements (0 for number set at run-time). 67| |template struct vector: public v_iface { 68| | using P= v_iface; ///< Type of ancestor. 69| | using P::P; 70| | 71| | /// Copy data from other vector of same type. 72| | /// \param src Reference to other vector. 73| 138| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 6| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 3ul>::vector(gsl::vector, 3ul> const&): | 73| 5| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 3ul>::vector(gsl::vector, 3ul> const&): | 73| 5| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 3ul>::vector(gsl::vector, 3ul> const&): | 73| 5| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 4| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 0ul>::vector(gsl::vector, 0ul> const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 0ul>::vector(gsl::vector, 0ul> const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 0ul>::vector(gsl::vector, 0ul> const&): | 73| 3| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector::vector(gsl::vector const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 6ul>::vector(gsl::vector, 6ul> const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 6ul>::vector(gsl::vector, 6ul> const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ | gsl::vector, 6ul>::vector(gsl::vector, 6ul> const&): | 73| 1| vector(vector const &src): P(src.v()->size) { memcpy(*this, src); } ------------------ 74| | 75| | /// Enable move-constructor in gsl::v_stor to work. 76| 14| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector::vector(gsl::vector&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector, 0ul>::vector(gsl::vector, 0ul>&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector, 0ul>::vector(gsl::vector, 0ul>&&): | 76| 1| vector(vector &&)= default; ------------------ | gsl::vector, 0ul>::vector(gsl::vector, 0ul>&&): | 76| 1| vector(vector &&)= default; ------------------ 77| | 78| | /// Enable explicitly defined copy-constructor in gsl::v_iface. 79| | /// \return Reference to this instance after assignment. 80| 58| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 5| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector, 3ul>::operator=(gsl::vector, 3ul> const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector, 3ul>::operator=(gsl::vector, 3ul> const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector, 3ul>::operator=(gsl::vector, 3ul> const&): | 80| 4| vector &operator=(vector const &)= default; ------------------ | gsl::vector::operator=(gsl::vector const&): | 80| 1| vector &operator=(vector const &)= default; ------------------ 81| | 82| | /// Struct defining whether size of other vector allow copying its data. 83| | /// \tparam N Number of elements in other vector. 84| | template struct sz_ok { 85| | enum { V= (N == S || N == 0 || S == 0) /**< True if N be OK. */ }; 86| | }; 87| | 88| | /// Copy data from vector of different type (different element-constness, 89| | /// different compile-time number of elements, or different 90| | /// storage-interface). 91| | /// \tparam N Number of elements in other vector. 92| | /// \tparam V Type of other vector's interface to storage. 93| | /// \param src Reference to other vector. 94| | template< 95| | size_t N, 96| | template 97| | class V, 98| | typename= enable_if_t::V && !is_const_v>> 99| | vector(v_iface const &src): P(src.v()->size) { 100| | memcpy(*this, src); 101| | } 102| | 103| | /// Copy data from vector of different type (different compile-time number of 104| | /// elements or different storage-interface). 105| | /// \tparam N Number of elements in other vector. 106| | /// \tparam V Type of other vector's interface to storage. 107| | /// \param src Reference to other vector. 108| | template< 109| | size_t N, 110| | template 111| | class V, 112| | typename= enable_if_t::V>> 113| 2| vector(v_iface const &src): P(src.v()->size) { 114| 2| memcpy(*this, src); 115| 2| } ------------------ | gsl::vector::vector<0ul, gsl::v_view, void>(gsl::v_iface const&): | 113| 1| vector(v_iface const &src): P(src.v()->size) { | 114| 1| memcpy(*this, src); | 115| 1| } ------------------ | gsl::vector::vector<0ul, gsl::v_stor, void>(gsl::v_iface const&): | 113| 1| vector(v_iface const &src): P(src.v()->size) { | 114| 1| memcpy(*this, src); | 115| 1| } ------------------ 116| | 117| | /// Copy from standard (decayed) C-array. 118| | /// 119| | /// Arguments are ordered differently from those given to 120| | /// gsl_vector_viewiew_array_with_stride(). Putting stride at *end* allows 121| | /// it to have default value of 1. 122| | /// 123| | /// \param d Pointer to first element of array and of vector. 124| | /// \param n Number of elements in vector. 125| | /// \param s Stride of elements relative to array. 126| 1| vector(T const *d, size_t n, size_t s= 1): P(n) { 127| 1| auto const cview= w_vector_view_array(d, s, n); 128| 1| memcpy(*this, v_iface(cview)); 129| 1| } 130| | 131| | /// Copy from non-decayed C-array. 132| | /// \param d Reference to non-decayed C-array. 133| 325| vector(T const (&d)[S]): P(S) { 134| 325| auto const cview= w_vector_view_array(d, 1, S); 135| 325| memcpy(*this, v_iface(cview)); 136| 325| } ------------------ | gsl::vector::vector(double const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(float const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(long double const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(int const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(unsigned int const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(long const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(unsigned long const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(short const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(unsigned short const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(char const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(unsigned char const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector, 3ul>::vector(gsl::complex const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector, 3ul>::vector(gsl::complex const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector, 3ul>::vector(gsl::complex const (&) [3]): | 133| 22| vector(T const (&d)[S]): P(S) { | 134| 22| auto const cview= w_vector_view_array(d, 1, S); | 135| 22| memcpy(*this, v_iface(cview)); | 136| 22| } ------------------ | gsl::vector::vector(double const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(float const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(long double const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(int const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(short const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(long const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(unsigned int const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(unsigned short const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(unsigned long const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(char const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(unsigned char const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector, 6ul>::vector(gsl::complex const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector, 6ul>::vector(gsl::complex const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector, 6ul>::vector(gsl::complex const (&) [6]): | 133| 1| vector(T const (&d)[S]): P(S) { | 134| 1| auto const cview= w_vector_view_array(d, 1, S); | 135| 1| memcpy(*this, v_iface(cview)); | 136| 1| } ------------------ | gsl::vector::vector(double const (&) [4]): | 133| 3| vector(T const (&d)[S]): P(S) { | 134| 3| auto const cview= w_vector_view_array(d, 1, S); | 135| 3| memcpy(*this, v_iface(cview)); | 136| 3| } ------------------ 137| | 138| | /// Copy from initializer-list. 139| | /// \param i List of initializers. 140| 205| vector(std::initializer_list i): P(i.size()) { 141| 205| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); 142| 205| memcpy(*this, v_iface(cview)); 143| 205| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 15| vector(std::initializer_list i): P(i.size()) { | 141| 15| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 15| memcpy(*this, v_iface(cview)); | 143| 15| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 12| vector(std::initializer_list i): P(i.size()) { | 141| 12| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 12| memcpy(*this, v_iface(cview)); | 143| 12| } ------------------ | gsl::vector, 0ul>::vector(std::initializer_list >): | 140| 14| vector(std::initializer_list i): P(i.size()) { | 141| 14| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 14| memcpy(*this, v_iface(cview)); | 143| 14| } ------------------ | gsl::vector, 0ul>::vector(std::initializer_list >): | 140| 14| vector(std::initializer_list i): P(i.size()) { | 141| 14| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 14| memcpy(*this, v_iface(cview)); | 143| 14| } ------------------ | gsl::vector, 0ul>::vector(std::initializer_list >): | 140| 14| vector(std::initializer_list i): P(i.size()) { | 141| 14| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 14| memcpy(*this, v_iface(cview)); | 143| 14| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector::vector(std::initializer_list): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector, 3ul>::vector(std::initializer_list >): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector, 3ul>::vector(std::initializer_list >): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ | gsl::vector, 3ul>::vector(std::initializer_list >): | 140| 2| vector(std::initializer_list i): P(i.size()) { | 141| 2| auto const cview= w_vector_view_array(i.begin(), 1, i.size()); | 142| 2| memcpy(*this, v_iface(cview)); | 143| 2| } ------------------ 144| |}; 145| | 146| | 147| |} // namespace gsl 148| | 149| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/add-constant.hpp: 1| |/// @file include/gslcpp/wrap/add-constant.hpp 2| |/// @copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// @brief Definition of gsl::add_constant(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Add same constant to every element in place. `add_constant` is overloaded 12| |/// to provide the same name for every type of vector. 13| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 14| |/// @param u Pointer to vector whose elements are to be modified. 15| |/// @param v Constant to add into each element. 16| |/// @return TBD: Not specified in GSL's documentation. 17| 5|inline int w_add_constant(w_vector *u, double const &v) { 18| 5| return gsl_vector_add_constant(u, v); 19| 5|} 20| | 21| | 22| |/// Add same constant to every element in place. `add_constant` is overloaded 23| |/// to provide the same name for every type of vector. 24| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 25| |/// @param u Pointer to vector whose elements are to be modified. 26| |/// @param v Constant to add into each element. 27| |/// @return TBD: Not specified in GSL's documentation. 28| 5|inline int w_add_constant(w_vector *u, float const &v) { 29| 5| return gsl_vector_float_add_constant(u, v); 30| 5|} 31| | 32| | 33| |/// Add same constant to every element in place. `add_constant` is overloaded 34| |/// to provide the same name for every type of vector. 35| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 36| |/// @param u Pointer to vector whose elements are to be modified. 37| |/// @param v Constant to add into each element. 38| |/// @return TBD: Not specified in GSL's documentation. 39| 5|inline int w_add_constant(w_vector *u, long double const &v) { 40| 5| return gsl_vector_long_double_add_constant(u, v); 41| 5|} 42| | 43| | 44| |/// Add same constant to every element in place. `add_constant` is overloaded 45| |/// to provide the same name for every type of vector. 46| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 47| |/// @param u Pointer to vector whose elements are to be modified. 48| |/// @param v Constant to add into each element. 49| |/// @return TBD: Not specified in GSL's documentation. 50| 5|inline int w_add_constant(w_vector *u, int const &v) { 51| 5| return gsl_vector_int_add_constant(u, v); 52| 5|} 53| | 54| | 55| |/// Add same constant to every element in place. `add_constant` is overloaded 56| |/// to provide the same name for every type of vector. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 58| |/// @param u Pointer to vector whose elements are to be modified. 59| |/// @param v Constant to add into each element. 60| |/// @return TBD: Not specified in GSL's documentation. 61| 5|inline int w_add_constant(w_vector *u, unsigned const &v) { 62| 5| return gsl_vector_uint_add_constant(u, v); 63| 5|} 64| | 65| | 66| |/// Add same constant to every element in place. `add_constant` is overloaded 67| |/// to provide the same name for every type of vector. 68| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 69| |/// @param u Pointer to vector whose elements are to be modified. 70| |/// @param v Constant to add into each element. 71| |/// @return TBD: Not specified in GSL's documentation. 72| 5|inline int w_add_constant(w_vector *u, long const &v) { 73| 5| return gsl_vector_long_add_constant(u, v); 74| 5|} 75| | 76| | 77| |/// Add same constant to every element in place. `add_constant` is overloaded 78| |/// to provide the same name for every type of vector. 79| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 80| |/// @param u Pointer to vector whose elements are to be modified. 81| |/// @param v Constant to add into each element. 82| |/// @return TBD: Not specified in GSL's documentation. 83| 5|inline int w_add_constant(w_vector *u, unsigned long const &v) { 84| 5| return gsl_vector_ulong_add_constant(u, v); 85| 5|} 86| | 87| | 88| |/// Add same constant to every element in place. `add_constant` is overloaded 89| |/// to provide the same name for every type of vector. 90| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 91| |/// @param u Pointer to vector whose elements are to be modified. 92| |/// @param v Constant to add into each element. 93| |/// @return TBD: Not specified in GSL's documentation. 94| 5|inline int w_add_constant(w_vector *u, short const &v) { 95| 5| return gsl_vector_short_add_constant(u, v); 96| 5|} 97| | 98| | 99| |/// Add same constant to every element in place. `add_constant` is overloaded 100| |/// to provide the same name for every type of vector. 101| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 102| |/// @param u Pointer to vector whose elements are to be modified. 103| |/// @param v Constant to add into each element. 104| |/// @return TBD: Not specified in GSL's documentation. 105| |inline int 106| 5|w_add_constant(w_vector *u, unsigned short const &v) { 107| 5| return gsl_vector_ushort_add_constant(u, v); 108| 5|} 109| | 110| | 111| |/// Add same constant to every element in place. `add_constant` is overloaded 112| |/// to provide the same name for every type of vector. 113| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 114| |/// @param u Pointer to vector whose elements are to be modified. 115| |/// @param v Constant to add into each element. 116| |/// @return TBD: Not specified in GSL's documentation. 117| 5|inline int w_add_constant(w_vector *u, char const &v) { 118| 5| return gsl_vector_char_add_constant(u, v); 119| 5|} 120| | 121| | 122| |/// Add same constant to every element in place. `add_constant` is overloaded 123| |/// to provide the same name for every type of vector. 124| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 125| |/// @param u Pointer to vector whose elements are to be modified. 126| |/// @param v Constant to add into each element. 127| |/// @return TBD: Not specified in GSL's documentation. 128| 5|inline int w_add_constant(w_vector *u, unsigned char const &v) { 129| 5| return gsl_vector_uchar_add_constant(u, v); 130| 5|} 131| | 132| | 133| |/// Add same constant to every element in place. `add_constant` is overloaded 134| |/// to provide the same name for every type of vector. 135| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 136| |/// @param u Pointer to vector whose elements are to be modified. 137| |/// @param v Constant to add into each element. 138| |/// @return TBD: Not specified in GSL's documentation. 139| |inline int 140| 5|w_add_constant(w_vector> *u, complex const &v) { 141| 5| return gsl_vector_complex_add_constant(u, v); 142| 5|} 143| | 144| | 145| |/// Add same constant to every element in place. `add_constant` is overloaded 146| |/// to provide the same name for every type of vector. 147| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 148| |/// @param u Pointer to vector whose elements are to be modified. 149| |/// @param v Constant to add into each element. 150| |/// @return TBD: Not specified in GSL's documentation. 151| |inline int 152| 5|w_add_constant(w_vector> *u, complex const &v) { 153| 5| return gsl_vector_complex_float_add_constant(u, v); 154| 5|} 155| | 156| | 157| |/// Add same constant to every element in place. `add_constant` is overloaded 158| |/// to provide the same name for every type of vector. 159| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add_constant 160| |/// @param u Pointer to vector whose elements are to be modified. 161| |/// @param v Constant to add into each element. 162| |/// @return TBD: Not specified in GSL's documentation. 163| |inline int w_add_constant( 164| 5| w_vector> *u, complex const &v) { 165| 5| return gsl_vector_complex_long_double_add_constant(u, v); 166| 5|} 167| | 168| | 169| |} // namespace gsl 170| | 171| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/add.hpp: 1| |/// @file include/gslcpp/wrap/add.hpp 2| |/// @copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// @brief Definition of gsl::w_add(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Element by element, accumulate `v` into `u`. 12| |/// `add` is overloaded to provide the same name for every type of vector. 13| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 14| |/// @param u Pointer to vector to be modified. 15| |/// @param v Pointer to vector to be added in to `u`. 16| |/// @return TBD: GSL's documentation does not specify. 17| 2|inline int w_add(w_vector *u, w_vector *v) { 18| 2| return gsl_vector_add(u, v); 19| 2|} 20| | 21| | 22| |/// Element by element, accumulate `v` into `u`. 23| |/// `add` is overloaded to provide the same name for every type of vector. 24| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 25| |/// @param u Pointer to vector to be modified. 26| |/// @param v Pointer to vector to be added in to `u`. 27| |/// @return TBD: GSL's documentation does not specify. 28| 2|inline int w_add(w_vector *u, w_vector *v) { 29| 2| return gsl_vector_float_add(u, v); 30| 2|} 31| | 32| | 33| |/// Element by element, accumulate `v` into `u`. 34| |/// `add` is overloaded to provide the same name for every type of vector. 35| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 36| |/// @param u Pointer to vector to be modified. 37| |/// @param v Pointer to vector to be added in to `u`. 38| |/// @return TBD: GSL's documentation does not specify. 39| 2|inline int w_add(w_vector *u, w_vector *v) { 40| 2| return gsl_vector_long_double_add(u, v); 41| 2|} 42| | 43| | 44| |/// Element by element, accumulate `v` into `u`. 45| |/// `add` is overloaded to provide the same name for every type of vector. 46| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 47| |/// @param u Pointer to vector to be modified. 48| |/// @param v Pointer to vector to be added in to `u`. 49| |/// @return TBD: GSL's documentation does not specify. 50| 2|inline int w_add(w_vector *u, w_vector *v) { 51| 2| return gsl_vector_int_add(u, v); 52| 2|} 53| | 54| | 55| |/// Element by element, accumulate `v` into `u`. 56| |/// `add` is overloaded to provide the same name for every type of vector. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 58| |/// @param u Pointer to vector to be modified. 59| |/// @param v Pointer to vector to be added in to `u`. 60| |/// @return TBD: GSL's documentation does not specify. 61| 2|inline int w_add(w_vector *u, w_vector *v) { 62| 2| return gsl_vector_uint_add(u, v); 63| 2|} 64| | 65| | 66| |/// Element by element, accumulate `v` into `u`. 67| |/// `add` is overloaded to provide the same name for every type of vector. 68| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 69| |/// @param u Pointer to vector to be modified. 70| |/// @param v Pointer to vector to be added in to `u`. 71| |/// @return TBD: GSL's documentation does not specify. 72| 2|inline int w_add(w_vector *u, w_vector *v) { 73| 2| return gsl_vector_long_add(u, v); 74| 2|} 75| | 76| | 77| |/// Element by element, accumulate `v` into `u`. 78| |/// `add` is overloaded to provide the same name for every type of vector. 79| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 80| |/// @param u Pointer to vector to be modified. 81| |/// @param v Pointer to vector to be added in to `u`. 82| |/// @return TBD: GSL's documentation does not specify. 83| |inline int 84| 2|w_add(w_vector *u, w_vector *v) { 85| 2| return gsl_vector_ulong_add(u, v); 86| 2|} 87| | 88| | 89| |/// Element by element, accumulate `v` into `u`. 90| |/// `add` is overloaded to provide the same name for every type of vector. 91| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 92| |/// @param u Pointer to vector to be modified. 93| |/// @param v Pointer to vector to be added in to `u`. 94| |/// @return TBD: GSL's documentation does not specify. 95| 2|inline int w_add(w_vector *u, w_vector *v) { 96| 2| return gsl_vector_short_add(u, v); 97| 2|} 98| | 99| | 100| |/// Element by element, accumulate `v` into `u`. 101| |/// `add` is overloaded to provide the same name for every type of vector. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 103| |/// @param u Pointer to vector to be modified. 104| |/// @param v Pointer to vector to be added in to `u`. 105| |/// @return TBD: GSL's documentation does not specify. 106| |inline int 107| 2|w_add(w_vector *u, w_vector *v) { 108| 2| return gsl_vector_ushort_add(u, v); 109| 2|} 110| | 111| | 112| |/// Element by element, accumulate `v` into `u`. 113| |/// `add` is overloaded to provide the same name for every type of vector. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 115| |/// @param u Pointer to vector to be modified. 116| |/// @param v Pointer to vector to be added in to `u`. 117| |/// @return TBD: GSL's documentation does not specify. 118| 2|inline int w_add(w_vector *u, w_vector *v) { 119| 2| return gsl_vector_char_add(u, v); 120| 2|} 121| | 122| | 123| |/// Element by element, accumulate `v` into `u`. 124| |/// `add` is overloaded to provide the same name for every type of vector. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 126| |/// @param u Pointer to vector to be modified. 127| |/// @param v Pointer to vector to be added in to `u`. 128| |/// @return TBD: GSL's documentation does not specify. 129| |inline int 130| 2|w_add(w_vector *u, w_vector *v) { 131| 2| return gsl_vector_uchar_add(u, v); 132| 2|} 133| | 134| | 135| |/// Element by element, accumulate `v` into `u`. 136| |/// `add` is overloaded to provide the same name for every type of vector. 137| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 138| |/// @param u Pointer to vector to be modified. 139| |/// @param v Pointer to vector to be added in to `u`. 140| |/// @return TBD: GSL's documentation does not specify. 141| |inline int 142| 2|w_add(w_vector> *u, w_vector const> *v) { 143| 2| return gsl_vector_complex_add(u, v); 144| 2|} 145| | 146| | 147| |/// Element by element, accumulate `v` into `u`. 148| |/// `add` is overloaded to provide the same name for every type of vector. 149| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 150| |/// @param u Pointer to vector to be modified. 151| |/// @param v Pointer to vector to be added in to `u`. 152| |/// @return TBD: GSL's documentation does not specify. 153| |inline int 154| 2|w_add(w_vector> *u, w_vector const> *v) { 155| 2| return gsl_vector_complex_float_add(u, v); 156| 2|} 157| | 158| | 159| |/// Element by element, accumulate `v` into `u`. 160| |/// `add` is overloaded to provide the same name for every type of vector. 161| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_add 162| |/// @param u Pointer to vector to be modified. 163| |/// @param v Pointer to vector to be added in to `u`. 164| |/// @return TBD: GSL's documentation does not specify. 165| |inline int 166| |w_add(w_vector> *u, 167| 2| w_vector const> *v) { 168| 2| return gsl_vector_complex_long_double_add(u, v); 169| 2|} 170| | 171| | 172| |} // namespace gsl 173| | 174| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/axpby.hpp: 1| |/// @file include/gslcpp/wrap/axpby.hpp 2| |/// @copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// @brief Definition of gsl::w_axpby(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Perform the logical equivalent of `y = a*x + b*y`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 13| |/// 14| |/// @param a Coefficient of vector `x`. 15| |/// @param x Pointer to vector that is multiplied by `a`. 16| |/// @param b Coefficient of vector `y`. 17| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 18| |/// `a*x + b*y`. 19| |/// @return TBD: GSL's documentation does not specify. 20| |inline int w_axpby( 21| | double const &a, 22| | w_vector *x, 23| | double const &b, 24| 1| w_vector *y) { 25| 1| return gsl_vector_axpby(a, x, b, y); 26| 1|} 27| | 28| | 29| |/// Perform the logical equivalent of `y = a*x + b*y`. 30| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 31| |/// 32| |/// @param a Coefficient of vector `x`. 33| |/// @param x Pointer to vector that is multiplied by `a`. 34| |/// @param b Coefficient of vector `y`. 35| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 36| |/// `a*x + b*y`. 37| |/// @return TBD: GSL's documentation does not specify. 38| |inline int w_axpby( 39| | float const &a, 40| | w_vector *x, 41| | float const &b, 42| 1| w_vector *y) { 43| 1| return gsl_vector_float_axpby(a, x, b, y); 44| 1|} 45| | 46| | 47| |/// Perform the logical equivalent of `y = a*x + b*y`. 48| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 49| |/// 50| |/// @param a Coefficient of vector `x`. 51| |/// @param x Pointer to vector that is multiplied by `a`. 52| |/// @param b Coefficient of vector `y`. 53| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 54| |/// `a*x + b*y`. 55| |/// @return TBD: GSL's documentation does not specify. 56| |inline int w_axpby( 57| | long double const &a, 58| | w_vector *x, 59| | long double const &b, 60| 1| w_vector *y) { 61| 1| return gsl_vector_long_double_axpby(a, x, b, y); 62| 1|} 63| | 64| | 65| |/// Perform the logical equivalent of `y = a*x + b*y`. 66| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 67| |/// 68| |/// @param a Coefficient of vector `x`. 69| |/// @param x Pointer to vector that is multiplied by `a`. 70| |/// @param b Coefficient of vector `y`. 71| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 72| |/// `a*x + b*y`. 73| |/// @return TBD: GSL's documentation does not specify. 74| |inline int 75| 1|w_axpby(int const &a, w_vector *x, int const &b, w_vector *y) { 76| 1| return gsl_vector_int_axpby(a, x, b, y); 77| 1|} 78| | 79| | 80| |/// Perform the logical equivalent of `y = a*x + b*y`. 81| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 82| |/// 83| |/// @param a Coefficient of vector `x`. 84| |/// @param x Pointer to vector that is multiplied by `a`. 85| |/// @param b Coefficient of vector `y`. 86| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 87| |/// `a*x + b*y`. 88| |/// @return TBD: GSL's documentation does not specify. 89| |inline int w_axpby( 90| | unsigned const &a, 91| | w_vector *x, 92| | unsigned const &b, 93| 1| w_vector *y) { 94| 1| return gsl_vector_uint_axpby(a, x, b, y); 95| 1|} 96| | 97| | 98| |/// Perform the logical equivalent of `y = a*x + b*y`. 99| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 100| |/// 101| |/// @param a Coefficient of vector `x`. 102| |/// @param x Pointer to vector that is multiplied by `a`. 103| |/// @param b Coefficient of vector `y`. 104| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 105| |/// `a*x + b*y`. 106| |/// @return TBD: GSL's documentation does not specify. 107| |inline int w_axpby( 108| | long const &a, 109| | w_vector *x, 110| | long const &b, 111| 1| w_vector *y) { 112| 1| return gsl_vector_long_axpby(a, x, b, y); 113| 1|} 114| | 115| | 116| |/// Perform the logical equivalent of `y = a*x + b*y`. 117| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 118| |/// 119| |/// @param a Coefficient of vector `x`. 120| |/// @param x Pointer to vector that is multiplied by `a`. 121| |/// @param b Coefficient of vector `y`. 122| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 123| |/// `a*x + b*y`. 124| |/// @return TBD: GSL's documentation does not specify. 125| |inline int w_axpby( 126| | unsigned long const &a, 127| | w_vector *x, 128| | unsigned long const &b, 129| 1| w_vector *y) { 130| 1| return gsl_vector_ulong_axpby(a, x, b, y); 131| 1|} 132| | 133| | 134| |/// Perform the logical equivalent of `y = a*x + b*y`. 135| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 136| |/// 137| |/// @param a Coefficient of vector `x`. 138| |/// @param x Pointer to vector that is multiplied by `a`. 139| |/// @param b Coefficient of vector `y`. 140| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 141| |/// `a*x + b*y`. 142| |/// @return TBD: GSL's documentation does not specify. 143| |inline int w_axpby( 144| | short const &a, 145| | w_vector *x, 146| | short const &b, 147| 1| w_vector *y) { 148| 1| return gsl_vector_short_axpby(a, x, b, y); 149| 1|} 150| | 151| | 152| |/// Perform the logical equivalent of `y = a*x + b*y`. 153| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 154| |/// 155| |/// @param a Coefficient of vector `x`. 156| |/// @param x Pointer to vector that is multiplied by `a`. 157| |/// @param b Coefficient of vector `y`. 158| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 159| |/// `a*x + b*y`. 160| |/// @return TBD: GSL's documentation does not specify. 161| |inline int w_axpby( 162| | unsigned short const &a, 163| | w_vector *x, 164| | unsigned short const &b, 165| 1| w_vector *y) { 166| 1| return gsl_vector_ushort_axpby(a, x, b, y); 167| 1|} 168| | 169| | 170| |/// Perform the logical equivalent of `y = a*x + b*y`. 171| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 172| |/// 173| |/// @param a Coefficient of vector `x`. 174| |/// @param x Pointer to vector that is multiplied by `a`. 175| |/// @param b Coefficient of vector `y`. 176| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 177| |/// `a*x + b*y`. 178| |/// @return TBD: GSL's documentation does not specify. 179| |inline int w_axpby( 180| | char const &a, 181| | w_vector *x, 182| | char const &b, 183| 1| w_vector *y) { 184| 1| return gsl_vector_char_axpby(a, x, b, y); 185| 1|} 186| | 187| | 188| |/// Perform the logical equivalent of `y = a*x + b*y`. 189| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 190| |/// 191| |/// @param a Coefficient of vector `x`. 192| |/// @param x Pointer to vector that is multiplied by `a`. 193| |/// @param b Coefficient of vector `y`. 194| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 195| |/// `a*x + b*y`. 196| |/// @return TBD: GSL's documentation does not specify. 197| |inline int w_axpby( 198| | unsigned char const &a, 199| | w_vector *x, 200| | unsigned char const &b, 201| 1| w_vector *y) { 202| 1| return gsl_vector_uchar_axpby(a, x, b, y); 203| 1|} 204| | 205| | 206| |/// Perform the logical equivalent of `y = a*x + b*y`. 207| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 208| |/// 209| |/// @param a Coefficient of vector `x`. 210| |/// @param x Pointer to vector that is multiplied by `a`. 211| |/// @param b Coefficient of vector `y`. 212| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 213| |/// `a*x + b*y`. 214| |/// @return TBD: GSL's documentation does not specify. 215| |inline int w_axpby( 216| | complex const &a, 217| | w_vector const> *x, 218| | complex const &b, 219| 1| w_vector> *y) { 220| 1| return gsl_vector_complex_axpby(a, x, b, y); 221| 1|} 222| | 223| | 224| |/// Perform the logical equivalent of `y = a*x + b*y`. 225| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 226| |/// 227| |/// @param a Coefficient of vector `x`. 228| |/// @param x Pointer to vector that is multiplied by `a`. 229| |/// @param b Coefficient of vector `y`. 230| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 231| |/// `a*x + b*y`. 232| |/// @return TBD: GSL's documentation does not specify. 233| |inline int w_axpby( 234| | complex const &a, 235| | w_vector const> *x, 236| | complex const &b, 237| 1| w_vector> *y) { 238| 1| return gsl_vector_complex_float_axpby(a, x, b, y); 239| 1|} 240| | 241| | 242| |/// Perform the logical equivalent of `y = a*x + b*y`. 243| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_axpby 244| |/// 245| |/// @param a Coefficient of vector `x`. 246| |/// @param x Pointer to vector that is multiplied by `a`. 247| |/// @param b Coefficient of vector `y`. 248| |/// @param y Pointer to vector that is multiplied by `b` and then updated as 249| |/// `a*x + b*y`. 250| |/// @return TBD: GSL's documentation does not specify. 251| |inline int w_axpby( 252| | complex const &a, 253| | w_vector const> *x, 254| | complex const &b, 255| 1| w_vector> *y) { 256| 1| return gsl_vector_complex_long_double_axpby(a, x, b, y); 257| 1|} 258| | 259| | 260| |} // namespace gsl 261| | 262| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/complex.hpp: 1| |/// \file include/gslcpp/wrap/complex.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::complex. 4| | 5| |#pragma once 6| |#include // std::complex 7| |#include // gsl_complex, etc. 8| | 9| |namespace gsl { 10| | 11| | 12| |/// Complex-number, each of whose components has type A. 13| |/// This is the generic declaration; see each specialization for details. 14| |/// \sa gsl::complex 15| |/// \sa gsl::complex 16| |/// \sa gsl::complex 17| |/// \tparam A Type of each component. 18| |template struct complex; 19| | 20| | 21| |/// Specialization of \ref gsl::complex for double. 22| |template<> struct complex: public std::complex { 23| | using P= std::complex; ///< Type of parent. 24| | using P::P; // Inherit constructors. 25| | 26| | /// Construct from gsl_complex. 27| | /// \param z Reference to instance of gsl_complex. 28| 1| complex(gsl_complex const &z): P(GSL_REAL(z), GSL_IMAG(z)) {} 29| | 30| | /// Construct from instance of parent's type. 31| | /// \param z Reference to instance of parent's type. 32| 3| complex(P const &z): P(z) {} 33| | 34| | /// Convert to gsl_complex. 35| | /// \return Reference to this as gsl_complex. 36| 0| operator gsl_complex &() { return *(gsl_complex *)this; } 37| | 38| | /// Convert to gsl_complex. 39| | /// \return Reference to this as gsl_complex. 40| 19| operator gsl_complex const &() const { return *(gsl_complex const *)this; } 41| |}; 42| | 43| | 44| |/// Specialization of \ref gsl::complex for float. 45| |template<> struct complex: public std::complex { 46| | using P= std::complex; ///< Type of parent. 47| | using P::P; // Inherit constructors. 48| | 49| | /// Construct from gsl_complex. 50| | /// \param z Reference to instance of gsl_complex. 51| 1| complex(gsl_complex_float const &z): P(GSL_REAL(z), GSL_IMAG(z)) {} 52| | 53| | /// Construct from instance of parent's type. 54| | /// \param z Reference to instance of parent's type. 55| 3| complex(P const &z): P(z) {} 56| | 57| | /// Convert to gsl_complex. 58| | /// \return Reference to this as gsl_complex. 59| 0| operator gsl_complex_float &() { return *(gsl_complex_float *)this; } 60| | 61| | /// Convert to gsl_complex. 62| | /// \return Reference to this as gsl_complex. 63| 19| operator gsl_complex_float const &() const { 64| 19| return *(gsl_complex_float const *)this; 65| 19| } 66| |}; 67| | 68| | 69| |/// Specialization of \ref gsl::complex for long double. 70| |template<> struct complex: public std::complex { 71| | using P= std::complex; ///< Type of parent. 72| | using P::P; // Inherit constructors. 73| | 74| | /// Construct from gsl_complex. 75| | /// \param z Reference to instance of gsl_complex. 76| 1| complex(gsl_complex_long_double const &z): P(GSL_REAL(z), GSL_IMAG(z)) {} 77| | 78| | /// Construct from instance of parent's type. 79| | /// \param z Reference to instance of parent's type. 80| 3| complex(P const &z): P(z) {} 81| | 82| | /// Convert to gsl_complex. 83| | /// \return Reference to this as gsl_complex. 84| 0| operator gsl_complex_long_double &() { 85| 0| return *(gsl_complex_long_double *)this; 86| 0| } 87| | 88| | /// Convert to gsl_complex. 89| | /// \return Reference to this as gsl_complex. 90| 19| operator gsl_complex_long_double const &() const { 91| 19| return *(gsl_complex_long_double const *)this; 92| 19| } 93| |}; 94| | 95| | 96| |} // namespace gsl 97| | 98| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/div.hpp: 1| |/// \file include/gslcpp/wrap/div.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_div(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Perform the logical operation `u = u/v` element by element. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 13| |/// @param u Pointer to matrix whose elements should be divided into. 14| |/// @param v Pointer to matrix whose elements divide into. 15| |/// @return TBD: GSL's documentation does not specify. 16| 2|inline int w_div(w_vector *u, w_vector *v) { 17| 2| return gsl_vector_div(u, v); 18| 2|} 19| | 20| | 21| |/// Perform the logical operation `u = u/v` element by element. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 23| |/// @param u Pointer to matrix whose elements should be divided into. 24| |/// @param v Pointer to matrix whose elements divide into. 25| |/// @return TBD: GSL's documentation does not specify. 26| 2|inline int w_div(w_vector *u, w_vector *v) { 27| 2| return gsl_vector_float_div(u, v); 28| 2|} 29| | 30| | 31| |/// Perform the logical operation `u = u/v` element by element. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 33| |/// @param u Pointer to matrix whose elements should be divided into. 34| |/// @param v Pointer to matrix whose elements divide into. 35| |/// @return TBD: GSL's documentation does not specify. 36| 2|inline int w_div(w_vector *u, w_vector *v) { 37| 2| return gsl_vector_long_double_div(u, v); 38| 2|} 39| | 40| | 41| |/// Perform the logical operation `u = u/v` element by element. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 43| |/// @param u Pointer to matrix whose elements should be divided into. 44| |/// @param v Pointer to matrix whose elements divide into. 45| |/// @return TBD: GSL's documentation does not specify. 46| 2|inline int w_div(w_vector *u, w_vector *v) { 47| 2| return gsl_vector_int_div(u, v); 48| 2|} 49| | 50| | 51| |/// Perform the logical operation `u = u/v` element by element. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 53| |/// @param u Pointer to matrix whose elements should be divided into. 54| |/// @param v Pointer to matrix whose elements divide into. 55| |/// @return TBD: GSL's documentation does not specify. 56| 2|inline int w_div(w_vector *u, w_vector *v) { 57| 2| return gsl_vector_uint_div(u, v); 58| 2|} 59| | 60| | 61| |/// Perform the logical operation `u = u/v` element by element. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 63| |/// @param u Pointer to matrix whose elements should be divided into. 64| |/// @param v Pointer to matrix whose elements divide into. 65| |/// @return TBD: GSL's documentation does not specify. 66| 2|inline int w_div(w_vector *u, w_vector *v) { 67| 2| return gsl_vector_long_div(u, v); 68| 2|} 69| | 70| | 71| |/// Perform the logical operation `u = u/v` element by element. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 73| |/// @param u Pointer to matrix whose elements should be divided into. 74| |/// @param v Pointer to matrix whose elements divide into. 75| |/// @return TBD: GSL's documentation does not specify. 76| |inline int 77| 2|w_div(w_vector *u, w_vector *v) { 78| 2| return gsl_vector_ulong_div(u, v); 79| 2|} 80| | 81| | 82| |/// Perform the logical operation `u = u/v` element by element. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 84| |/// @param u Pointer to matrix whose elements should be divided into. 85| |/// @param v Pointer to matrix whose elements divide into. 86| |/// @return TBD: GSL's documentation does not specify. 87| 2|inline int w_div(w_vector *u, w_vector *v) { 88| 2| return gsl_vector_short_div(u, v); 89| 2|} 90| | 91| | 92| |/// Perform the logical operation `u = u/v` element by element. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 94| |/// @param u Pointer to matrix whose elements should be divided into. 95| |/// @param v Pointer to matrix whose elements divide into. 96| |/// @return TBD: GSL's documentation does not specify. 97| |inline int 98| 2|w_div(w_vector *u, w_vector *v) { 99| 2| return gsl_vector_ushort_div(u, v); 100| 2|} 101| | 102| | 103| |/// Perform the logical operation `u = u/v` element by element. 104| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 105| |/// @param u Pointer to matrix whose elements should be divided into. 106| |/// @param v Pointer to matrix whose elements divide into. 107| |/// @return TBD: GSL's documentation does not specify. 108| 2|inline int w_div(w_vector *u, w_vector *v) { 109| 2| return gsl_vector_char_div(u, v); 110| 2|} 111| | 112| | 113| |/// Perform the logical operation `u = u/v` element by element. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 115| |/// @param u Pointer to matrix whose elements should be divided into. 116| |/// @param v Pointer to matrix whose elements divide into. 117| |/// @return TBD: GSL's documentation does not specify. 118| |inline int 119| 2|w_div(w_vector *u, w_vector *v) { 120| 2| return gsl_vector_uchar_div(u, v); 121| 2|} 122| | 123| | 124| |/// Perform the logical operation `u = u/v` element by element. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 126| |/// @param u Pointer to matrix whose elements should be divided into. 127| |/// @param v Pointer to matrix whose elements divide into. 128| |/// @return TBD: GSL's documentation does not specify. 129| |inline int 130| 2|w_div(w_vector> *u, w_vector const> *v) { 131| 2| return gsl_vector_complex_div(u, v); 132| 2|} 133| | 134| | 135| |/// Perform the logical operation `u = u/v` element by element. 136| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 137| |/// @param u Pointer to matrix whose elements should be divided into. 138| |/// @param v Pointer to matrix whose elements divide into. 139| |/// @return TBD: GSL's documentation does not specify. 140| |inline int 141| 2|w_div(w_vector> *u, w_vector const> *v) { 142| 2| return gsl_vector_complex_float_div(u, v); 143| 2|} 144| | 145| | 146| |/// Perform the logical operation `u = u/v` element by element. 147| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_div 148| |/// @param u Pointer to matrix whose elements should be divided into. 149| |/// @param v Pointer to matrix whose elements divide into. 150| |/// @return TBD: GSL's documentation does not specify. 151| |inline int 152| |w_div(w_vector> *u, 153| 2| w_vector const> *v) { 154| 2| return gsl_vector_complex_long_double_div(u, v); 155| 2|} 156| | 157| | 158| |} // namespace gsl 159| | 160| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/equal.hpp: 1| |/// \file include/gslcpp/wrap/equal.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_equal(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// True if every element in `u` be equal to corrending element in `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 13| |/// @param u Pointer to one vector. 14| |/// @param v Pointer to other vector. 15| |/// @return True if vectors be equal. 16| 17|inline bool w_equal(w_vector *u, w_vector *v) { 17| 17| return gsl_vector_equal(u, v); 18| 17|} 19| | 20| | 21| |/// True if every element in `u` be equal to corrending element in `v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 23| |/// @param u Pointer to one vector. 24| |/// @param v Pointer to other vector. 25| |/// @return True if vectors be equal. 26| 15|inline bool w_equal(w_vector *u, w_vector *v) { 27| 15| return gsl_vector_float_equal(u, v); 28| 15|} 29| | 30| | 31| |/// True if every element in `u` be equal to corrending element in `v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 33| |/// @param u Pointer to one vector. 34| |/// @param v Pointer to other vector. 35| |/// @return True if vectors be equal. 36| |inline bool 37| 15|w_equal(w_vector *u, w_vector *v) { 38| 15| return gsl_vector_long_double_equal(u, v); 39| 15|} 40| | 41| | 42| |/// True if every element in `u` be equal to corrending element in `v`. 43| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 44| |/// @param u Pointer to one vector. 45| |/// @param v Pointer to other vector. 46| |/// @return True if vectors be equal. 47| 15|inline bool w_equal(w_vector *u, w_vector *v) { 48| 15| return gsl_vector_int_equal(u, v); 49| 15|} 50| | 51| | 52| |/// True if every element in `u` be equal to corrending element in `v`. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 54| |/// @param u Pointer to one vector. 55| |/// @param v Pointer to other vector. 56| |/// @return True if vectors be equal. 57| 15|inline bool w_equal(w_vector *u, w_vector *v) { 58| 15| return gsl_vector_uint_equal(u, v); 59| 15|} 60| | 61| | 62| |/// True if every element in `u` be equal to corrending element in `v`. 63| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 64| |/// @param u Pointer to one vector. 65| |/// @param v Pointer to other vector. 66| |/// @return True if vectors be equal. 67| 15|inline bool w_equal(w_vector *u, w_vector *v) { 68| 15| return gsl_vector_long_equal(u, v); 69| 15|} 70| | 71| | 72| |/// True if every element in `u` be equal to corrending element in `v`. 73| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 74| |/// @param u Pointer to one vector. 75| |/// @param v Pointer to other vector. 76| |/// @return True if vectors be equal. 77| |inline bool 78| 15|w_equal(w_vector *u, w_vector *v) { 79| 15| return gsl_vector_ulong_equal(u, v); 80| 15|} 81| | 82| | 83| |/// True if every element in `u` be equal to corrending element in `v`. 84| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 85| |/// @param u Pointer to one vector. 86| |/// @param v Pointer to other vector. 87| |/// @return True if vectors be equal. 88| 15|inline bool w_equal(w_vector *u, w_vector *v) { 89| 15| return gsl_vector_short_equal(u, v); 90| 15|} 91| | 92| | 93| |/// True if every element in `u` be equal to corrending element in `v`. 94| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 95| |/// @param u Pointer to one vector. 96| |/// @param v Pointer to other vector. 97| |/// @return True if vectors be equal. 98| |inline bool 99| 15|w_equal(w_vector *u, w_vector *v) { 100| 15| return gsl_vector_ushort_equal(u, v); 101| 15|} 102| | 103| | 104| |/// True if every element in `u` be equal to corrending element in `v`. 105| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 106| |/// @param u Pointer to one vector. 107| |/// @param v Pointer to other vector. 108| |/// @return True if vectors be equal. 109| 15|inline bool w_equal(w_vector *u, w_vector *v) { 110| 15| return gsl_vector_char_equal(u, v); 111| 15|} 112| | 113| | 114| |/// True if every element in `u` be equal to corrending element in `v`. 115| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 116| |/// @param u Pointer to one vector. 117| |/// @param v Pointer to other vector. 118| |/// @return True if vectors be equal. 119| |inline bool 120| 15|w_equal(w_vector *u, w_vector *v) { 121| 15| return gsl_vector_uchar_equal(u, v); 122| 15|} 123| | 124| | 125| |/// True if every element in `u` be equal to corrending element in `v`. 126| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 127| |/// @param u Pointer to one vector. 128| |/// @param v Pointer to other vector. 129| |/// @return True if vectors be equal. 130| |inline bool w_equal( 131| 15| w_vector const> *u, w_vector const> *v) { 132| 15| return gsl_vector_complex_equal(u, v); 133| 15|} 134| | 135| | 136| |/// True if every element in `u` be equal to corrending element in `v`. 137| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 138| |/// @param u Pointer to one vector. 139| |/// @param v Pointer to other vector. 140| |/// @return True if vectors be equal. 141| |inline bool 142| 15|w_equal(w_vector const> *u, w_vector const> *v) { 143| 15| return gsl_vector_complex_float_equal(u, v); 144| 15|} 145| | 146| | 147| |/// True if every element in `u` be equal to corrending element in `v`. 148| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_equal 149| |/// @param u Pointer to one vector. 150| |/// @param v Pointer to other vector. 151| |/// @return True if vectors be equal. 152| |inline bool w_equal( 153| | w_vector const> *u, 154| 15| w_vector const> *v) { 155| 15| return gsl_vector_complex_long_double_equal(u, v); 156| 15|} 157| | 158| | 159| |} // namespace gsl 160| | 161| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/fprintf.hpp: 1| |/// \file include/gslcpp/wrap/fprintf.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_fprintf(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 13| |/// @param f Pointer to file-stream. 14| |/// @param v Pointer to vector. 15| |/// @param fmt Pointer to printf-style specifier of format. 16| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 17| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 18| 1| return gsl_vector_fprintf(f, v, fmt); 19| 1|} 20| | 21| | 22| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 23| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 24| |/// @param f Pointer to file-stream. 25| |/// @param v Pointer to vector. 26| |/// @param fmt Pointer to printf-style specifier of format. 27| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 28| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 29| 1| return gsl_vector_float_fprintf(f, v, fmt); 30| 1|} 31| | 32| | 33| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 34| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 35| |/// @param f Pointer to file-stream. 36| |/// @param v Pointer to vector. 37| |/// @param fmt Pointer to printf-style specifier of format. 38| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 39| |inline int 40| 1|w_fprintf(FILE *f, w_vector *v, char const *fmt) { 41| 1| return gsl_vector_long_double_fprintf(f, v, fmt); 42| 1|} 43| | 44| | 45| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 46| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 47| |/// @param f Pointer to file-stream. 48| |/// @param v Pointer to vector. 49| |/// @param fmt Pointer to printf-style specifier of format. 50| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 51| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 52| 1| return gsl_vector_int_fprintf(f, v, fmt); 53| 1|} 54| | 55| | 56| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 58| |/// @param f Pointer to file-stream. 59| |/// @param v Pointer to vector. 60| |/// @param fmt Pointer to printf-style specifier of format. 61| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 62| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 63| 1| return gsl_vector_uint_fprintf(f, v, fmt); 64| 1|} 65| | 66| | 67| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 68| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 69| |/// @param f Pointer to file-stream. 70| |/// @param v Pointer to vector. 71| |/// @param fmt Pointer to printf-style specifier of format. 72| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 73| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 74| 1| return gsl_vector_long_fprintf(f, v, fmt); 75| 1|} 76| | 77| | 78| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 79| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 80| |/// @param f Pointer to file-stream. 81| |/// @param v Pointer to vector. 82| |/// @param fmt Pointer to printf-style specifier of format. 83| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 84| |inline int 85| 1|w_fprintf(FILE *f, w_vector *v, char const *fmt) { 86| 1| return gsl_vector_ulong_fprintf(f, v, fmt); 87| 1|} 88| | 89| | 90| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 91| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 92| |/// @param f Pointer to file-stream. 93| |/// @param v Pointer to vector. 94| |/// @param fmt Pointer to printf-style specifier of format. 95| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 96| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 97| 1| return gsl_vector_short_fprintf(f, v, fmt); 98| 1|} 99| | 100| | 101| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 103| |/// @param f Pointer to file-stream. 104| |/// @param v Pointer to vector. 105| |/// @param fmt Pointer to printf-style specifier of format. 106| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 107| |inline int 108| 1|w_fprintf(FILE *f, w_vector *v, char const *fmt) { 109| 1| return gsl_vector_ushort_fprintf(f, v, fmt); 110| 1|} 111| | 112| | 113| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 115| |/// @param f Pointer to file-stream. 116| |/// @param v Pointer to vector. 117| |/// @param fmt Pointer to printf-style specifier of format. 118| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 119| 1|inline int w_fprintf(FILE *f, w_vector *v, char const *fmt) { 120| 1| return gsl_vector_char_fprintf(f, v, fmt); 121| 1|} 122| | 123| | 124| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 126| |/// @param f Pointer to file-stream. 127| |/// @param v Pointer to vector. 128| |/// @param fmt Pointer to printf-style specifier of format. 129| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 130| |inline int 131| 1|w_fprintf(FILE *f, w_vector *v, char const *fmt) { 132| 1| return gsl_vector_uchar_fprintf(f, v, fmt); 133| 1|} 134| | 135| | 136| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 137| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 138| |/// @param f Pointer to file-stream. 139| |/// @param v Pointer to vector. 140| |/// @param fmt Pointer to printf-style specifier of format. 141| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 142| |inline int 143| 1|w_fprintf(FILE *f, w_vector const> *v, char const *fmt) { 144| 1| return gsl_vector_complex_fprintf(f, v, fmt); 145| 1|} 146| | 147| | 148| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 149| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 150| |/// @param f Pointer to file-stream. 151| |/// @param v Pointer to vector. 152| |/// @param fmt Pointer to printf-style specifier of format. 153| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 154| |inline int 155| 1|w_fprintf(FILE *f, w_vector const> *v, char const *fmt) { 156| 1| return gsl_vector_complex_float_fprintf(f, v, fmt); 157| 1|} 158| | 159| | 160| |/// Write elements of `v` line by line to stream `f` via specifier `fmt`. 161| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fprintf 162| |/// @param f Pointer to file-stream. 163| |/// @param v Pointer to vector. 164| |/// @param fmt Pointer to printf-style specifier of format. 165| |/// @return 0 on success or GSL_EFAILED on problem writing to file. 166| |inline int 167| 1|w_fprintf(FILE *f, w_vector const> *v, char const *fmt) { 168| 1| return gsl_vector_complex_long_double_fprintf(f, v, fmt); 169| 1|} 170| | 171| | 172| |} // namespace gsl 173| | 174| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/fread.hpp: 1| |/// \file include/gslcpp/wrap/fread.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_fread(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Read into `v` from stream `f` in binary format. 12| |/// 13| |/// Before call to `%w_fread()`, `v` must already have right size because 14| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 15| |/// 16| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 17| |/// 18| |/// @param f Pointer to file-stream. 19| |/// @param v Pointer to vector that should be initialized from stream. 20| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 21| 1|inline int w_fread(FILE *f, w_vector *v) { 22| 1| return gsl_vector_fread(f, v); 23| 1|} 24| | 25| | 26| |/// Read into `v` from stream `f` in binary format. 27| |/// 28| |/// Before call to `%w_fread()`, `v` must already have right size because 29| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 30| |/// 31| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 32| |/// 33| |/// @param f Pointer to file-stream. 34| |/// @param v Pointer to vector that should be initialized from stream. 35| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 36| 1|inline int w_fread(FILE *f, w_vector *v) { 37| 1| return gsl_vector_float_fread(f, v); 38| 1|} 39| | 40| | 41| |/// Read into `v` from stream `f` in binary format. 42| |/// 43| |/// Before call to `%w_fread()`, `v` must already have right size because 44| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 45| |/// 46| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 47| |/// 48| |/// @param f Pointer to file-stream. 49| |/// @param v Pointer to vector that should be initialized from stream. 50| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 51| 1|inline int w_fread(FILE *f, w_vector *v) { 52| 1| return gsl_vector_long_double_fread(f, v); 53| 1|} 54| | 55| | 56| |/// Read into `v` from stream `f` in binary format. 57| |/// 58| |/// Before call to `%w_fread()`, `v` must already have right size because 59| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 60| |/// 61| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 62| |/// 63| |/// @param f Pointer to file-stream. 64| |/// @param v Pointer to vector that should be initialized from stream. 65| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 66| 1|inline int w_fread(FILE *f, w_vector *v) { 67| 1| return gsl_vector_int_fread(f, v); 68| 1|} 69| | 70| | 71| |/// Read into `v` from stream `f` in binary format. 72| |/// 73| |/// Before call to `%w_fread()`, `v` must already have right size because 74| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 75| |/// 76| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 77| |/// 78| |/// @param f Pointer to file-stream. 79| |/// @param v Pointer to vector that should be initialized from stream. 80| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 81| 1|inline int w_fread(FILE *f, w_vector *v) { 82| 1| return gsl_vector_uint_fread(f, v); 83| 1|} 84| | 85| | 86| |/// Read into `v` from stream `f` in binary format. 87| |/// 88| |/// Before call to `%w_fread()`, `v` must already have right size because 89| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 90| |/// 91| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 92| |/// 93| |/// @param f Pointer to file-stream. 94| |/// @param v Pointer to vector that should be initialized from stream. 95| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 96| 1|inline int w_fread(FILE *f, w_vector *v) { 97| 1| return gsl_vector_long_fread(f, v); 98| 1|} 99| | 100| | 101| |/// Read into `v` from stream `f` in binary format. 102| |/// 103| |/// Before call to `%w_fread()`, `v` must already have right size because 104| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 105| |/// 106| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 107| |/// 108| |/// @param f Pointer to file-stream. 109| |/// @param v Pointer to vector that should be initialized from stream. 110| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 111| 1|inline int w_fread(FILE *f, w_vector *v) { 112| 1| return gsl_vector_ulong_fread(f, v); 113| 1|} 114| | 115| | 116| |/// Read into `v` from stream `f` in binary format. 117| |/// 118| |/// Before call to `%w_fread()`, `v` must already have right size because 119| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 120| |/// 121| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 122| |/// 123| |/// @param f Pointer to file-stream. 124| |/// @param v Pointer to vector that should be initialized from stream. 125| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 126| 1|inline int w_fread(FILE *f, w_vector *v) { 127| 1| return gsl_vector_short_fread(f, v); 128| 1|} 129| | 130| | 131| |/// Read into `v` from stream `f` in binary format. 132| |/// 133| |/// Before call to `%w_fread()`, `v` must already have right size because 134| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 135| |/// 136| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 137| |/// 138| |/// @param f Pointer to file-stream. 139| |/// @param v Pointer to vector that should be initialized from stream. 140| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 141| 1|inline int w_fread(FILE *f, w_vector *v) { 142| 1| return gsl_vector_ushort_fread(f, v); 143| 1|} 144| | 145| | 146| |/// Read into `v` from stream `f` in binary format. 147| |/// 148| |/// Before call to `%w_fread()`, `v` must already have right size because 149| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 150| |/// 151| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 152| |/// 153| |/// @param f Pointer to file-stream. 154| |/// @param v Pointer to vector that should be initialized from stream. 155| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 156| 1|inline int w_fread(FILE *f, w_vector *v) { 157| 1| return gsl_vector_char_fread(f, v); 158| 1|} 159| | 160| | 161| |/// Read into `v` from stream `f` in binary format. 162| |/// 163| |/// Before call to `%w_fread()`, `v` must already have right size because 164| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 165| |/// 166| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 167| |/// 168| |/// @param f Pointer to file-stream. 169| |/// @param v Pointer to vector that should be initialized from stream. 170| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 171| 1|inline int w_fread(FILE *f, w_vector *v) { 172| 1| return gsl_vector_uchar_fread(f, v); 173| 1|} 174| | 175| | 176| |/// Read into `v` from stream `f` in binary format. 177| |/// 178| |/// Before call to `%w_fread()`, `v` must already have right size because 179| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 180| |/// 181| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 182| |/// 183| |/// @param f Pointer to file-stream. 184| |/// @param v Pointer to vector that should be initialized from stream. 185| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 186| 1|inline int w_fread(FILE *f, w_vector> *v) { 187| 1| return gsl_vector_complex_fread(f, v); 188| 1|} 189| | 190| | 191| |/// Read into `v` from stream `f` in binary format. 192| |/// 193| |/// Before call to `%w_fread()`, `v` must already have right size because 194| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 195| |/// 196| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 197| |/// 198| |/// @param f Pointer to file-stream. 199| |/// @param v Pointer to vector that should be initialized from stream. 200| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 201| 1|inline int w_fread(FILE *f, w_vector> *v) { 202| 1| return gsl_vector_complex_float_fread(f, v); 203| 1|} 204| | 205| | 206| |/// Read into `v` from stream `f` in binary format. 207| |/// 208| |/// Before call to `%w_fread()`, `v` must already have right size because 209| |/// `%w_fread()` uses size of `v` to determine number bytes to read. 210| |/// 211| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fread 212| |/// 213| |/// @param f Pointer to file-stream. 214| |/// @param v Pointer to vector that should be initialized from stream. 215| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 216| 1|inline int w_fread(FILE *f, w_vector> *v) { 217| 1| return gsl_vector_complex_long_double_fread(f, v); 218| 1|} 219| | 220| | 221| |} // namespace gsl 222| | 223| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/free.hpp: 1| |/// \file include/gslcpp/wrap/free.hpp 2| |/// \copyright 2022 Thomas E. Vaughan 3| |/// \brief Definition of gsl::w_free(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Deallocate memory for GSL's native vector. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 13| |/// @param v Pointer to vector. 14| 24|inline void w_free(w_vector *v) { gsl_vector_free(v); } 15| | 16| | 17| |/// Deallocate memory for GSL's native vector. 18| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 19| |/// @param v Pointer to vector. 20| 18|inline void w_free(w_vector *v) { gsl_vector_float_free(v); } 21| | 22| | 23| |/// Deallocate memory for GSL's native vector. 24| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 25| |/// @param v Pointer to vector. 26| 18|inline void w_free(w_vector *v) { 27| 18| gsl_vector_long_double_free(v); 28| 18|} 29| | 30| | 31| |/// Deallocate memory for GSL's native vector. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 33| |/// @param v Pointer to vector. 34| 18|inline void w_free(w_vector *v) { gsl_vector_int_free(v); } 35| | 36| | 37| |/// Deallocate memory for GSL's native vector. 38| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 39| |/// @param v Pointer to vector. 40| 18|inline void w_free(w_vector *v) { gsl_vector_uint_free(v); } 41| | 42| | 43| |/// Deallocate memory for GSL's native vector. 44| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 45| |/// @param v Pointer to vector. 46| 18|inline void w_free(w_vector *v) { gsl_vector_long_free(v); } 47| | 48| | 49| |/// Deallocate memory for GSL's native vector. 50| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 51| |/// @param v Pointer to vector. 52| 18|inline void w_free(w_vector *v) { gsl_vector_ulong_free(v); } 53| | 54| | 55| |/// Deallocate memory for GSL's native vector. 56| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 57| |/// @param v Pointer to vector. 58| 18|inline void w_free(w_vector *v) { gsl_vector_short_free(v); } 59| | 60| | 61| |/// Deallocate memory for GSL's native vector. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 63| |/// @param v Pointer to vector. 64| 18|inline void w_free(w_vector *v) { gsl_vector_ushort_free(v); } 65| | 66| | 67| |/// Deallocate memory for GSL's native vector. 68| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 69| |/// @param v Pointer to vector. 70| 18|inline void w_free(w_vector *v) { gsl_vector_char_free(v); } 71| | 72| | 73| |/// Deallocate memory for GSL's native vector. 74| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 75| |/// @param v Pointer to vector. 76| 18|inline void w_free(w_vector *v) { gsl_vector_uchar_free(v); } 77| | 78| | 79| |/// Deallocate memory for GSL's native vector. 80| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 81| |/// @param v Pointer to vector. 82| 20|inline void w_free(w_vector> *v) { 83| 20| gsl_vector_complex_free(v); 84| 20|} 85| | 86| | 87| |/// Deallocate memory for GSL's native vector. 88| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 89| |/// @param v Pointer to vector. 90| 20|inline void w_free(w_vector> *v) { 91| 20| gsl_vector_complex_float_free(v); 92| 20|} 93| | 94| | 95| |/// Deallocate memory for GSL's native vector. 96| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_free 97| |/// @param v Pointer to vector. 98| 20|inline void w_free(w_vector> *v) { 99| 20| gsl_vector_complex_long_double_free(v); 100| 20|} 101| | 102| | 103| |} // namespace gsl 104| | 105| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/fscanf.hpp: 1| |/// \file include/gslcpp/wrap/fscanf.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_fscanf(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Read formatted data from stream `f` into vector `v`. 12| |/// 13| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 14| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 15| |/// 16| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 17| |/// 18| |/// @param f Pointer to file-stream. 19| |/// @param v Pointer to vector that will be initialized from stream. 20| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 21| 1|inline int w_fscanf(FILE *f, w_vector *v) { 22| 1| return gsl_vector_fscanf(f, v); 23| 1|} 24| | 25| | 26| |/// Read formatted data from stream `f` into vector `v`. 27| |/// 28| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 29| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 30| |/// 31| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 32| |/// 33| |/// @param f Pointer to file-stream. 34| |/// @param v Pointer to vector that will be initialized from stream. 35| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 36| 1|inline int w_fscanf(FILE *f, w_vector *v) { 37| 1| return gsl_vector_float_fscanf(f, v); 38| 1|} 39| | 40| | 41| |/// Read formatted data from stream `f` into vector `v`. 42| |/// 43| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 44| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 45| |/// 46| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 47| |/// 48| |/// @param f Pointer to file-stream. 49| |/// @param v Pointer to vector that will be initialized from stream. 50| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 51| 1|inline int w_fscanf(FILE *f, w_vector *v) { 52| 1| return gsl_vector_long_double_fscanf(f, v); 53| 1|} 54| | 55| | 56| |/// Read formatted data from stream `f` into vector `v`. 57| |/// 58| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 59| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 60| |/// 61| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 62| |/// 63| |/// @param f Pointer to file-stream. 64| |/// @param v Pointer to vector that will be initialized from stream. 65| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 66| 1|inline int w_fscanf(FILE *f, w_vector *v) { 67| 1| return gsl_vector_int_fscanf(f, v); 68| 1|} 69| | 70| | 71| |/// Read formatted data from stream `f` into vector `v`. 72| |/// 73| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 74| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 75| |/// 76| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 77| |/// 78| |/// @param f Pointer to file-stream. 79| |/// @param v Pointer to vector that will be initialized from stream. 80| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 81| 1|inline int w_fscanf(FILE *f, w_vector *v) { 82| 1| return gsl_vector_uint_fscanf(f, v); 83| 1|} 84| | 85| | 86| |/// Read formatted data from stream `f` into vector `v`. 87| |/// 88| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 89| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 90| |/// 91| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 92| |/// 93| |/// @param f Pointer to file-stream. 94| |/// @param v Pointer to vector that will be initialized from stream. 95| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 96| 1|inline int w_fscanf(FILE *f, w_vector *v) { 97| 1| return gsl_vector_long_fscanf(f, v); 98| 1|} 99| | 100| | 101| |/// Read formatted data from stream `f` into vector `v`. 102| |/// 103| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 104| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 105| |/// 106| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 107| |/// 108| |/// @param f Pointer to file-stream. 109| |/// @param v Pointer to vector that will be initialized from stream. 110| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 111| 1|inline int w_fscanf(FILE *f, w_vector *v) { 112| 1| return gsl_vector_ulong_fscanf(f, v); 113| 1|} 114| | 115| | 116| |/// Read formatted data from stream `f` into vector `v`. 117| |/// 118| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 119| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 120| |/// 121| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 122| |/// 123| |/// @param f Pointer to file-stream. 124| |/// @param v Pointer to vector that will be initialized from stream. 125| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 126| 1|inline int w_fscanf(FILE *f, w_vector *v) { 127| 1| return gsl_vector_short_fscanf(f, v); 128| 1|} 129| | 130| | 131| |/// Read formatted data from stream `f` into vector `v`. 132| |/// 133| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 134| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 135| |/// 136| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 137| |/// 138| |/// @param f Pointer to file-stream. 139| |/// @param v Pointer to vector that will be initialized from stream. 140| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 141| 1|inline int w_fscanf(FILE *f, w_vector *v) { 142| 1| return gsl_vector_ushort_fscanf(f, v); 143| 1|} 144| | 145| | 146| |/// Read formatted data from stream `f` into vector `v`. 147| |/// 148| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 149| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 150| |/// 151| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 152| |/// 153| |/// @param f Pointer to file-stream. 154| |/// @param v Pointer to vector that will be initialized from stream. 155| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 156| 1|inline int w_fscanf(FILE *f, w_vector *v) { 157| 1| return gsl_vector_char_fscanf(f, v); 158| 1|} 159| | 160| | 161| |/// Read formatted data from stream `f` into vector `v`. 162| |/// 163| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 164| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 165| |/// 166| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 167| |/// 168| |/// @param f Pointer to file-stream. 169| |/// @param v Pointer to vector that will be initialized from stream. 170| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 171| 1|inline int w_fscanf(FILE *f, w_vector *v) { 172| 1| return gsl_vector_uchar_fscanf(f, v); 173| 1|} 174| | 175| | 176| |/// Read formatted data from stream `f` into vector `v`. 177| |/// 178| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 179| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 180| |/// 181| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 182| |/// 183| |/// @param f Pointer to file-stream. 184| |/// @param v Pointer to vector that will be initialized from stream. 185| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 186| 1|inline int w_fscanf(FILE *f, w_vector> *v) { 187| 1| return gsl_vector_complex_fscanf(f, v); 188| 1|} 189| | 190| | 191| |/// Read formatted data from stream `f` into vector `v`. 192| |/// 193| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 194| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 195| |/// 196| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 197| |/// 198| |/// @param f Pointer to file-stream. 199| |/// @param v Pointer to vector that will be initialized from stream. 200| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 201| 1|inline int w_fscanf(FILE *f, w_vector> *v) { 202| 1| return gsl_vector_complex_float_fscanf(f, v); 203| 1|} 204| | 205| | 206| |/// Read formatted data from stream `f` into vector `v`. 207| |/// 208| |/// Vector `v` must have correct size before call to `%w_fscanf()` because 209| |/// `%w_fscanf()` uses size of `v` to determine how many numbers to read. 210| |/// 211| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fscanf 212| |/// 213| |/// @param f Pointer to file-stream. 214| |/// @param v Pointer to vector that will be initialized from stream. 215| |/// @return 0 on success or GSL_EFAILED on problem reading from stream. 216| 1|inline int w_fscanf(FILE *f, w_vector> *v) { 217| 1| return gsl_vector_complex_long_double_fscanf(f, v); 218| 1|} 219| | 220| | 221| |} // namespace gsl 222| | 223| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/fwrite.hpp: 1| |/// \file include/gslcpp/wrap/fwrite.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_fwrite(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Write elements of vector `v` to stream `f` in binary format. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 13| |/// @param f Pointer to file-stream. 14| |/// @param v Pointer to vector. 15| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 16| 1|inline int w_fwrite(FILE *f, w_vector *v) { 17| 1| return gsl_vector_fwrite(f, v); 18| 1|} 19| | 20| | 21| |/// Write elements of vector `v` to stream `f` in binary format. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 23| |/// @param f Pointer to file-stream. 24| |/// @param v Pointer to vector. 25| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 26| 1|inline int w_fwrite(FILE *f, w_vector *v) { 27| 1| return gsl_vector_float_fwrite(f, v); 28| 1|} 29| | 30| | 31| |/// Write elements of vector `v` to stream `f` in binary format. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 33| |/// @param f Pointer to file-stream. 34| |/// @param v Pointer to vector. 35| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 36| 1|inline int w_fwrite(FILE *f, w_vector *v) { 37| 1| return gsl_vector_long_double_fwrite(f, v); 38| 1|} 39| | 40| | 41| |/// Write elements of vector `v` to stream `f` in binary format. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 43| |/// @param f Pointer to file-stream. 44| |/// @param v Pointer to vector. 45| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 46| 1|inline int w_fwrite(FILE *f, w_vector *v) { 47| 1| return gsl_vector_int_fwrite(f, v); 48| 1|} 49| | 50| | 51| |/// Write elements of vector `v` to stream `f` in binary format. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 53| |/// @param f Pointer to file-stream. 54| |/// @param v Pointer to vector. 55| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 56| 1|inline int w_fwrite(FILE *f, w_vector *v) { 57| 1| return gsl_vector_uint_fwrite(f, v); 58| 1|} 59| | 60| | 61| |/// Write elements of vector `v` to stream `f` in binary format. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 63| |/// @param f Pointer to file-stream. 64| |/// @param v Pointer to vector. 65| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 66| 1|inline int w_fwrite(FILE *f, w_vector *v) { 67| 1| return gsl_vector_long_fwrite(f, v); 68| 1|} 69| | 70| | 71| |/// Write elements of vector `v` to stream `f` in binary format. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 73| |/// @param f Pointer to file-stream. 74| |/// @param v Pointer to vector. 75| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 76| 1|inline int w_fwrite(FILE *f, w_vector *v) { 77| 1| return gsl_vector_ulong_fwrite(f, v); 78| 1|} 79| | 80| | 81| |/// Write elements of vector `v` to stream `f` in binary format. 82| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 83| |/// @param f Pointer to file-stream. 84| |/// @param v Pointer to vector. 85| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 86| 1|inline int w_fwrite(FILE *f, w_vector *v) { 87| 1| return gsl_vector_short_fwrite(f, v); 88| 1|} 89| | 90| | 91| |/// Write elements of vector `v` to stream `f` in binary format. 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 93| |/// @param f Pointer to file-stream. 94| |/// @param v Pointer to vector. 95| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 96| 1|inline int w_fwrite(FILE *f, w_vector *v) { 97| 1| return gsl_vector_ushort_fwrite(f, v); 98| 1|} 99| | 100| | 101| |/// Write elements of vector `v` to stream `f` in binary format. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 103| |/// @param f Pointer to file-stream. 104| |/// @param v Pointer to vector. 105| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 106| 1|inline int w_fwrite(FILE *f, w_vector *v) { 107| 1| return gsl_vector_char_fwrite(f, v); 108| 1|} 109| | 110| | 111| |/// Write elements of vector `v` to stream `f` in binary format. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 113| |/// @param f Pointer to file-stream. 114| |/// @param v Pointer to vector. 115| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 116| 1|inline int w_fwrite(FILE *f, w_vector *v) { 117| 1| return gsl_vector_uchar_fwrite(f, v); 118| 1|} 119| | 120| | 121| |/// Write elements of vector `v` to stream `f` in binary format. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 123| |/// @param f Pointer to file-stream. 124| |/// @param v Pointer to vector. 125| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 126| 1|inline int w_fwrite(FILE *f, w_vector const> *v) { 127| 1| return gsl_vector_complex_fwrite(f, v); 128| 1|} 129| | 130| | 131| |/// Write elements of vector `v` to stream `f` in binary format. 132| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 133| |/// @param f Pointer to file-stream. 134| |/// @param v Pointer to vector. 135| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 136| 1|inline int w_fwrite(FILE *f, w_vector const> *v) { 137| 1| return gsl_vector_complex_float_fwrite(f, v); 138| 1|} 139| | 140| | 141| |/// Write elements of vector `v` to stream `f` in binary format. 142| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_fwrite 143| |/// @param f Pointer to file-stream. 144| |/// @param v Pointer to vector. 145| |/// @return 0 on success and `GSL_EFAILED` on problem writing to stream. 146| 1|inline int w_fwrite(FILE *f, w_vector const> *v) { 147| 1| return gsl_vector_complex_long_double_fwrite(f, v); 148| 1|} 149| | 150| | 151| |} // namespace gsl 152| | 153| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/get.hpp: 1| |/// \file include/gslcpp/wrap/get.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_get(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Return `i`th element of vector `v` with bounds-checking. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 13| |/// @param v Pointer to vector. 14| |/// @param i Offset of element in vector. 15| |/// @return Value of element or 0 on bounds-error. 16| 1|inline auto w_get(w_vector *v, size_t i) { 17| 1| return gsl_vector_get(v, i); 18| 1|} 19| | 20| | 21| |/// Return `i`th element of vector `v` with bounds-checking. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 23| |/// @param v Pointer to vector. 24| |/// @param i Offset of element in vector. 25| |/// @return Value of element or 0 on bounds-error. 26| 1|inline auto w_get(w_vector *v, size_t i) { 27| 1| return gsl_vector_float_get(v, i); 28| 1|} 29| | 30| | 31| |/// Return `i`th element of vector `v` with bounds-checking. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 33| |/// @param v Pointer to vector. 34| |/// @param i Offset of element in vector. 35| |/// @return Value of element or 0 on bounds-error. 36| 1|inline auto w_get(w_vector *v, size_t i) { 37| 1| return gsl_vector_long_double_get(v, i); 38| 1|} 39| | 40| | 41| |/// Return `i`th element of vector `v` with bounds-checking. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 43| |/// @param v Pointer to vector. 44| |/// @param i Offset of element in vector. 45| |/// @return Value of element or 0 on bounds-error. 46| 1|inline auto w_get(w_vector *v, size_t i) { 47| 1| return gsl_vector_int_get(v, i); 48| 1|} 49| | 50| | 51| |/// Return `i`th element of vector `v` with bounds-checking. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 53| |/// @param v Pointer to vector. 54| |/// @param i Offset of element in vector. 55| |/// @return Value of element or 0 on bounds-error. 56| 1|inline auto w_get(w_vector *v, size_t i) { 57| 1| return gsl_vector_uint_get(v, i); 58| 1|} 59| | 60| | 61| |/// Return `i`th element of vector `v` with bounds-checking. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 63| |/// @param v Pointer to vector. 64| |/// @param i Offset of element in vector. 65| |/// @return Value of element or 0 on bounds-error. 66| 1|inline auto w_get(w_vector *v, size_t i) { 67| 1| return gsl_vector_long_get(v, i); 68| 1|} 69| | 70| | 71| |/// Return `i`th element of vector `v` with bounds-checking. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 73| |/// @param v Pointer to vector. 74| |/// @param i Offset of element in vector. 75| |/// @return Value of element or 0 on bounds-error. 76| 1|inline auto w_get(w_vector *v, size_t i) { 77| 1| return gsl_vector_ulong_get(v, i); 78| 1|} 79| | 80| | 81| |/// Return `i`th element of vector `v` with bounds-checking. 82| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 83| |/// @param v Pointer to vector. 84| |/// @param i Offset of element in vector. 85| |/// @return Value of element or 0 on bounds-error. 86| 1|inline auto w_get(w_vector *v, size_t i) { 87| 1| return gsl_vector_short_get(v, i); 88| 1|} 89| | 90| | 91| |/// Return `i`th element of vector `v` with bounds-checking. 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 93| |/// @param v Pointer to vector. 94| |/// @param i Offset of element in vector. 95| |/// @return Value of element or 0 on bounds-error. 96| 1|inline auto w_get(w_vector *v, size_t i) { 97| 1| return gsl_vector_ushort_get(v, i); 98| 1|} 99| | 100| | 101| |/// Return `i`th element of vector `v` with bounds-checking. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 103| |/// @param v Pointer to vector. 104| |/// @param i Offset of element in vector. 105| |/// @return Value of element or 0 on bounds-error. 106| 1|inline auto w_get(w_vector *v, size_t i) { 107| 1| return gsl_vector_char_get(v, i); 108| 1|} 109| | 110| | 111| |/// Return `i`th element of vector `v` with bounds-checking. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 113| |/// @param v Pointer to vector. 114| |/// @param i Offset of element in vector. 115| |/// @return Value of element or 0 on bounds-error. 116| 1|inline auto w_get(w_vector *v, size_t i) { 117| 1| return gsl_vector_uchar_get(v, i); 118| 1|} 119| | 120| | 121| |/// Return `i`th element of vector `v` with bounds-checking. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 123| |/// @param v Pointer to vector. 124| |/// @param i Offset of element in vector. 125| |/// @return Value of element or 0 on bounds-error. 126| 1|inline auto w_get(w_vector const> *v, size_t i) { 127| 1| return gsl_vector_complex_get(v, i); 128| 1|} 129| | 130| | 131| |/// Return `i`th element of vector `v` with bounds-checking. 132| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 133| |/// @param v Pointer to vector. 134| |/// @param i Offset of element in vector. 135| |/// @return Value of element or 0 on bounds-error. 136| 1|inline auto w_get(w_vector const> *v, size_t i) { 137| 1| return gsl_vector_complex_float_get(v, i); 138| 1|} 139| | 140| | 141| |/// Return `i`th element of vector `v` with bounds-checking. 142| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_get 143| |/// @param v Pointer to vector. 144| |/// @param i Offset of element in vector. 145| |/// @return Value of element or 0 on bounds-error. 146| 1|inline auto w_get(w_vector const> *v, size_t i) { 147| 1| return gsl_vector_complex_long_double_get(v, i); 148| 1|} 149| | 150| | 151| |} // namespace gsl 152| | 153| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/imag.hpp: 1| |/// @file include/gslcpp/wrap/imag.hpp 2| |/// @copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// @brief Definition of gsl::w_imag(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Imaginary-part of complex vector. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_imag 13| |/// @param u Pointer to vector. 14| |/// @return View of imaginary part of complex vector. 15| 2|inline auto w_imag(w_vector> *u) { 16| 2| return gsl_vector_complex_imag(u); 17| 2|} 18| | 19| | 20| |/// Imaginary-part of complex vector. 21| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_imag 22| |/// @param u Pointer to vector. 23| |/// @return View of imaginary part of complex vector. 24| 2|inline auto w_imag(w_vector> *u) { 25| 2| return gsl_vector_complex_float_imag(u); 26| 2|} 27| | 28| | 29| |/// Imaginary-part of complex vector. 30| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_imag 31| |/// @param u Pointer to vector. 32| |/// @return View of imaginary part of complex vector. 33| 2|inline auto w_imag(w_vector> *u) { 34| 2| return gsl_vector_complex_long_double_imag(u); 35| 2|} 36| | 37| | 38| |/// Imaginary-part of complex vector. 39| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_imag 40| |/// @param u Pointer to vector. 41| |/// @return View of imaginary part of complex vector. 42| 0|inline auto w_imag(w_vector> const *u) { 43| 0| return gsl_vector_complex_const_imag(u); 44| 0|} 45| | 46| | 47| |/// Imaginary-part of complex vector. 48| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_imag 49| |/// @param u Pointer to vector. 50| |/// @return View of imaginary part of complex vector. 51| 0|inline auto w_imag(w_vector> const *u) { 52| 0| return gsl_vector_complex_float_const_imag(u); 53| 0|} 54| | 55| | 56| |/// Imaginary-part of complex vector. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_imag 58| |/// @param u Pointer to vector. 59| |/// @return View of imaginary part of complex vector. 60| 0|inline auto w_imag(w_vector> const *u) { 61| 0| return gsl_vector_complex_long_double_const_imag(u); 62| 0|} 63| | 64| | 65| |} // namespace gsl 66| | 67| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/isneg.hpp: 1| |/// \file include/gslcpp/wrap/isneg.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_isneg(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// True only if every element of vector `v` be negative. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 13| |/// @param v Pointer to vector. 14| |/// @return True only if every element of `v` be negative. 15| 2|inline bool w_isneg(w_vector *v) { return gsl_vector_isneg(v); } 16| | 17| | 18| |/// True only if every element of vector `v` be negative. 19| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 20| |/// @param v Pointer to vector. 21| |/// @return True only if every element of `v` be negative. 22| 2|inline bool w_isneg(w_vector *v) { 23| 2| return gsl_vector_float_isneg(v); 24| 2|} 25| | 26| | 27| |/// True only if every element of vector `v` be negative. 28| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 29| |/// @param v Pointer to vector. 30| |/// @return True only if every element of `v` be negative. 31| 2|inline bool w_isneg(w_vector *v) { 32| 2| return gsl_vector_long_double_isneg(v); 33| 2|} 34| | 35| | 36| |/// True only if every element of vector `v` be negative. 37| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 38| |/// @param v Pointer to vector. 39| |/// @return True only if every element of `v` be negative. 40| 2|inline bool w_isneg(w_vector *v) { return gsl_vector_int_isneg(v); } 41| | 42| | 43| |/// True only if every element of vector `v` be negative. 44| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 45| |/// @param v Pointer to vector. 46| |/// @return True only if every element of `v` be negative. 47| 2|inline bool w_isneg(w_vector *v) { 48| 2| return gsl_vector_uint_isneg(v); 49| 2|} 50| | 51| | 52| |/// True only if every element of vector `v` be negative. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 54| |/// @param v Pointer to vector. 55| |/// @return True only if every element of `v` be negative. 56| 2|inline bool w_isneg(w_vector *v) { 57| 2| return gsl_vector_long_isneg(v); 58| 2|} 59| | 60| | 61| |/// True only if every element of vector `v` be negative. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 63| |/// @param v Pointer to vector. 64| |/// @return True only if every element of `v` be negative. 65| 2|inline bool w_isneg(w_vector *v) { 66| 2| return gsl_vector_ulong_isneg(v); 67| 2|} 68| | 69| | 70| |/// True only if every element of vector `v` be negative. 71| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 72| |/// @param v Pointer to vector. 73| |/// @return True only if every element of `v` be negative. 74| 2|inline bool w_isneg(w_vector *v) { 75| 2| return gsl_vector_short_isneg(v); 76| 2|} 77| | 78| | 79| |/// True only if every element of vector `v` be negative. 80| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 81| |/// @param v Pointer to vector. 82| |/// @return True only if every element of `v` be negative. 83| 2|inline bool w_isneg(w_vector *v) { 84| 2| return gsl_vector_ushort_isneg(v); 85| 2|} 86| | 87| | 88| |/// True only if every element of vector `v` be negative. 89| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 90| |/// @param v Pointer to vector. 91| |/// @return True only if every element of `v` be negative. 92| 2|inline bool w_isneg(w_vector *v) { 93| 2| return gsl_vector_char_isneg(v); 94| 2|} 95| | 96| | 97| |/// True only if every element of vector `v` be negative. 98| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 99| |/// @param v Pointer to vector. 100| |/// @return True only if every element of `v` be negative. 101| 2|inline bool w_isneg(w_vector *v) { 102| 2| return gsl_vector_uchar_isneg(v); 103| 2|} 104| | 105| | 106| |/// True only if every element of vector `v` be negative. 107| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 108| |/// @param v Pointer to vector. 109| |/// @return True only if every element of `v` be negative. 110| 2|inline bool w_isneg(w_vector const> *v) { 111| 2| return gsl_vector_complex_isneg(v); 112| 2|} 113| | 114| | 115| |/// True only if every element of vector `v` be negative. 116| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 117| |/// @param v Pointer to vector. 118| |/// @return True only if every element of `v` be negative. 119| 2|inline bool w_isneg(w_vector const> *v) { 120| 2| return gsl_vector_complex_float_isneg(v); 121| 2|} 122| | 123| | 124| |/// True only if every element of vector `v` be negative. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isneg 126| |/// @param v Pointer to vector. 127| |/// @return True only if every element of `v` be negative. 128| 2|inline bool w_isneg(w_vector const> *v) { 129| 2| return gsl_vector_complex_long_double_isneg(v); 130| 2|} 131| | 132| | 133| |} // namespace gsl 134| | 135| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/isnonneg.hpp: 1| |/// \file include/gslcpp/wrap/isnonneg.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_isnonneg(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// True only if every element of vector `v` be non-negative. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 13| |/// @param v Pointer to vector. 14| |/// @return True only if every element of `v` be non-negative. 15| 3|inline bool w_isnonneg(w_vector *v) { 16| 3| return gsl_vector_isnonneg(v); 17| 3|} 18| | 19| | 20| |/// True only if every element of vector `v` be non-negative. 21| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 22| |/// @param v Pointer to vector. 23| |/// @return True only if every element of `v` be non-negative. 24| 3|inline bool w_isnonneg(w_vector *v) { 25| 3| return gsl_vector_float_isnonneg(v); 26| 3|} 27| | 28| | 29| |/// True only if every element of vector `v` be non-negative. 30| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 31| |/// @param v Pointer to vector. 32| |/// @return True only if every element of `v` be non-negative. 33| 3|inline bool w_isnonneg(w_vector *v) { 34| 3| return gsl_vector_long_double_isnonneg(v); 35| 3|} 36| | 37| | 38| |/// True only if every element of vector `v` be non-negative. 39| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 40| |/// @param v Pointer to vector. 41| |/// @return True only if every element of `v` be non-negative. 42| 3|inline bool w_isnonneg(w_vector *v) { 43| 3| return gsl_vector_int_isnonneg(v); 44| 3|} 45| | 46| | 47| |/// True only if every element of vector `v` be non-negative. 48| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 49| |/// @param v Pointer to vector. 50| |/// @return True only if every element of `v` be non-negative. 51| 3|inline bool w_isnonneg(w_vector *v) { 52| 3| return gsl_vector_uint_isnonneg(v); 53| 3|} 54| | 55| | 56| |/// True only if every element of vector `v` be non-negative. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 58| |/// @param v Pointer to vector. 59| |/// @return True only if every element of `v` be non-negative. 60| 3|inline bool w_isnonneg(w_vector *v) { 61| 3| return gsl_vector_long_isnonneg(v); 62| 3|} 63| | 64| | 65| |/// True only if every element of vector `v` be non-negative. 66| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 67| |/// @param v Pointer to vector. 68| |/// @return True only if every element of `v` be non-negative. 69| 3|inline bool w_isnonneg(w_vector *v) { 70| 3| return gsl_vector_ulong_isnonneg(v); 71| 3|} 72| | 73| | 74| |/// True only if every element of vector `v` be non-negative. 75| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 76| |/// @param v Pointer to vector. 77| |/// @return True only if every element of `v` be non-negative. 78| 3|inline bool w_isnonneg(w_vector *v) { 79| 3| return gsl_vector_short_isnonneg(v); 80| 3|} 81| | 82| | 83| |/// True only if every element of vector `v` be non-negative. 84| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 85| |/// @param v Pointer to vector. 86| |/// @return True only if every element of `v` be non-negative. 87| 3|inline bool w_isnonneg(w_vector *v) { 88| 3| return gsl_vector_ushort_isnonneg(v); 89| 3|} 90| | 91| | 92| |/// True only if every element of vector `v` be non-negative. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 94| |/// @param v Pointer to vector. 95| |/// @return True only if every element of `v` be non-negative. 96| 3|inline bool w_isnonneg(w_vector *v) { 97| 3| return gsl_vector_char_isnonneg(v); 98| 3|} 99| | 100| | 101| |/// True only if every element of vector `v` be non-negative. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 103| |/// @param v Pointer to vector. 104| |/// @return True only if every element of `v` be non-negative. 105| 3|inline bool w_isnonneg(w_vector *v) { 106| 3| return gsl_vector_uchar_isnonneg(v); 107| 3|} 108| | 109| | 110| |/// True only if every element of vector `v` be non-negative. 111| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 112| |/// @param v Pointer to vector. 113| |/// @return True only if every element of `v` be non-negative. 114| 3|inline bool w_isnonneg(w_vector const> *v) { 115| 3| return gsl_vector_complex_isnonneg(v); 116| 3|} 117| | 118| | 119| |/// True only if every element of vector `v` be non-negative. 120| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 121| |/// @param v Pointer to vector. 122| |/// @return True only if every element of `v` be non-negative. 123| 3|inline bool w_isnonneg(w_vector const> *v) { 124| 3| return gsl_vector_complex_float_isnonneg(v); 125| 3|} 126| | 127| | 128| |/// True only if every element of vector `v` be non-negative. 129| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnonneg 130| |/// @param v Pointer to vector. 131| |/// @return True only if every element of `v` be non-negative. 132| 3|inline bool w_isnonneg(w_vector const> *v) { 133| 3| return gsl_vector_complex_long_double_isnonneg(v); 134| 3|} 135| | 136| | 137| |} // namespace gsl 138| | 139| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/isnull.hpp: 1| |/// \file include/gslcpp/wrap/isnull.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_isnull(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// True only if every element in vector `v` be zero. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 13| |/// @param v Pointer to vector. 14| |/// @return True only if every element in `v` be zero. 15| 3|inline bool w_isnull(w_vector *v) { 16| 3| return gsl_vector_isnull(v); 17| 3|} 18| | 19| | 20| |/// True only if every element in vector `v` be zero. 21| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 22| |/// @param v Pointer to vector. 23| |/// @return True only if every element in `v` be zero. 24| 3|inline bool w_isnull(w_vector *v) { 25| 3| return gsl_vector_float_isnull(v); 26| 3|} 27| | 28| | 29| |/// True only if every element in vector `v` be zero. 30| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 31| |/// @param v Pointer to vector. 32| |/// @return True only if every element in `v` be zero. 33| 3|inline bool w_isnull(w_vector *v) { 34| 3| return gsl_vector_long_double_isnull(v); 35| 3|} 36| | 37| | 38| |/// True only if every element in vector `v` be zero. 39| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 40| |/// @param v Pointer to vector. 41| |/// @return True only if every element in `v` be zero. 42| 3|inline bool w_isnull(w_vector *v) { 43| 3| return gsl_vector_int_isnull(v); 44| 3|} 45| | 46| | 47| |/// True only if every element in vector `v` be zero. 48| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 49| |/// @param v Pointer to vector. 50| |/// @return True only if every element in `v` be zero. 51| 3|inline bool w_isnull(w_vector *v) { 52| 3| return gsl_vector_uint_isnull(v); 53| 3|} 54| | 55| | 56| |/// True only if every element in vector `v` be zero. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 58| |/// @param v Pointer to vector. 59| |/// @return True only if every element in `v` be zero. 60| 3|inline bool w_isnull(w_vector *v) { 61| 3| return gsl_vector_long_isnull(v); 62| 3|} 63| | 64| | 65| |/// True only if every element in vector `v` be zero. 66| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 67| |/// @param v Pointer to vector. 68| |/// @return True only if every element in `v` be zero. 69| 3|inline bool w_isnull(w_vector *v) { 70| 3| return gsl_vector_ulong_isnull(v); 71| 3|} 72| | 73| | 74| |/// True only if every element in vector `v` be zero. 75| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 76| |/// @param v Pointer to vector. 77| |/// @return True only if every element in `v` be zero. 78| 3|inline bool w_isnull(w_vector *v) { 79| 3| return gsl_vector_short_isnull(v); 80| 3|} 81| | 82| | 83| |/// True only if every element in vector `v` be zero. 84| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 85| |/// @param v Pointer to vector. 86| |/// @return True only if every element in `v` be zero. 87| 3|inline bool w_isnull(w_vector *v) { 88| 3| return gsl_vector_ushort_isnull(v); 89| 3|} 90| | 91| | 92| |/// True only if every element in vector `v` be zero. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 94| |/// @param v Pointer to vector. 95| |/// @return True only if every element in `v` be zero. 96| 3|inline bool w_isnull(w_vector *v) { 97| 3| return gsl_vector_char_isnull(v); 98| 3|} 99| | 100| | 101| |/// True only if every element in vector `v` be zero. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 103| |/// @param v Pointer to vector. 104| |/// @return True only if every element in `v` be zero. 105| 3|inline bool w_isnull(w_vector *v) { 106| 3| return gsl_vector_uchar_isnull(v); 107| 3|} 108| | 109| | 110| |/// True only if every element in vector `v` be zero. 111| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 112| |/// @param v Pointer to vector. 113| |/// @return True only if every element in `v` be zero. 114| 3|inline bool w_isnull(w_vector const> *v) { 115| 3| return gsl_vector_complex_isnull(v); 116| 3|} 117| | 118| | 119| |/// True only if every element in vector `v` be zero. 120| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 121| |/// @param v Pointer to vector. 122| |/// @return True only if every element in `v` be zero. 123| 3|inline bool w_isnull(w_vector const> *v) { 124| 3| return gsl_vector_complex_float_isnull(v); 125| 3|} 126| | 127| | 128| |/// True only if every element in vector `v` be zero. 129| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_isnull 130| |/// @param v Pointer to vector. 131| |/// @return True only if every element in `v` be zero. 132| 3|inline bool w_isnull(w_vector const> *v) { 133| 3| return gsl_vector_complex_long_double_isnull(v); 134| 3|} 135| | 136| | 137| |} // namespace gsl 138| | 139| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/ispos.hpp: 1| |/// \file include/gslcpp/wrap/ispos.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_ispos(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// True only if every element in vector `v` be positive. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 13| |/// @param v Pointer to vector. 14| |/// @return True only if every element in `v` be positive. 15| 2|inline bool w_ispos(w_vector *v) { return gsl_vector_ispos(v); } 16| | 17| | 18| |/// True only if every element in vector `v` be positive. 19| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 20| |/// @param v Pointer to vector. 21| |/// @return True only if every element in `v` be positive. 22| 2|inline bool w_ispos(w_vector *v) { 23| 2| return gsl_vector_float_ispos(v); 24| 2|} 25| | 26| | 27| |/// True only if every element in vector `v` be positive. 28| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 29| |/// @param v Pointer to vector. 30| |/// @return True only if every element in `v` be positive. 31| 2|inline bool w_ispos(w_vector *v) { 32| 2| return gsl_vector_long_double_ispos(v); 33| 2|} 34| | 35| | 36| |/// True only if every element in vector `v` be positive. 37| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 38| |/// @param v Pointer to vector. 39| |/// @return True only if every element in `v` be positive. 40| 2|inline bool w_ispos(w_vector *v) { return gsl_vector_int_ispos(v); } 41| | 42| | 43| |/// True only if every element in vector `v` be positive. 44| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 45| |/// @param v Pointer to vector. 46| |/// @return True only if every element in `v` be positive. 47| 2|inline bool w_ispos(w_vector *v) { 48| 2| return gsl_vector_uint_ispos(v); 49| 2|} 50| | 51| | 52| |/// True only if every element in vector `v` be positive. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 54| |/// @param v Pointer to vector. 55| |/// @return True only if every element in `v` be positive. 56| 2|inline bool w_ispos(w_vector *v) { 57| 2| return gsl_vector_long_ispos(v); 58| 2|} 59| | 60| | 61| |/// True only if every element in vector `v` be positive. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 63| |/// @param v Pointer to vector. 64| |/// @return True only if every element in `v` be positive. 65| 2|inline bool w_ispos(w_vector *v) { 66| 2| return gsl_vector_ulong_ispos(v); 67| 2|} 68| | 69| | 70| |/// True only if every element in vector `v` be positive. 71| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 72| |/// @param v Pointer to vector. 73| |/// @return True only if every element in `v` be positive. 74| 2|inline bool w_ispos(w_vector *v) { 75| 2| return gsl_vector_short_ispos(v); 76| 2|} 77| | 78| | 79| |/// True only if every element in vector `v` be positive. 80| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 81| |/// @param v Pointer to vector. 82| |/// @return True only if every element in `v` be positive. 83| 2|inline bool w_ispos(w_vector *v) { 84| 2| return gsl_vector_ushort_ispos(v); 85| 2|} 86| | 87| | 88| |/// True only if every element in vector `v` be positive. 89| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 90| |/// @param v Pointer to vector. 91| |/// @return True only if every element in `v` be positive. 92| 2|inline bool w_ispos(w_vector *v) { 93| 2| return gsl_vector_char_ispos(v); 94| 2|} 95| | 96| | 97| |/// True only if every element in vector `v` be positive. 98| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 99| |/// @param v Pointer to vector. 100| |/// @return True only if every element in `v` be positive. 101| 2|inline bool w_ispos(w_vector *v) { 102| 2| return gsl_vector_uchar_ispos(v); 103| 2|} 104| | 105| | 106| |/// True only if every element in vector `v` be positive. 107| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 108| |/// @param v Pointer to vector. 109| |/// @return True only if every element in `v` be positive. 110| 3|inline bool w_ispos(w_vector const> *v) { 111| 3| return gsl_vector_complex_ispos(v); 112| 3|} 113| | 114| | 115| |/// True only if every element in vector `v` be positive. 116| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 117| |/// @param v Pointer to vector. 118| |/// @return True only if every element in `v` be positive. 119| 3|inline bool w_ispos(w_vector const> *v) { 120| 3| return gsl_vector_complex_float_ispos(v); 121| 3|} 122| | 123| | 124| |/// True only if every element in vector `v` be positive. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ispos 126| |/// @param v Pointer to vector. 127| |/// @return True only if every element in `v` be positive. 128| 3|inline bool w_ispos(w_vector const> *v) { 129| 3| return gsl_vector_complex_long_double_ispos(v); 130| 3|} 131| | 132| | 133| |} // namespace gsl 134| | 135| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/max-index.hpp: 1| |/// \file include/gslcpp/wrap/max-index.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_max_index(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector // vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Index of maximum value in vector `v`. 12| |/// When there are several equal maximum elements, lowest index is returned. 13| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 14| |/// @param v Pointer to vector. 15| |/// @return Index of maximum value in `v`. 16| 1|inline auto w_max_index(w_vector *v) { 17| 1| return gsl_vector_max_index(v); 18| 1|} 19| | 20| | 21| |/// Index of maximum value in vector `v`. 22| |/// When there are several equal maximum elements, lowest index is returned. 23| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 24| |/// @param v Pointer to vector. 25| |/// @return Index of maximum value in `v`. 26| 1|inline auto w_max_index(w_vector *v) { 27| 1| return gsl_vector_float_max_index(v); 28| 1|} 29| | 30| | 31| |/// Index of maximum value in vector `v`. 32| |/// When there are several equal maximum elements, lowest index is returned. 33| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 34| |/// @param v Pointer to vector. 35| |/// @return Index of maximum value in `v`. 36| 1|inline auto w_max_index(w_vector *v) { 37| 1| return gsl_vector_long_double_max_index(v); 38| 1|} 39| | 40| | 41| |/// Index of maximum value in vector `v`. 42| |/// When there are several equal maximum elements, lowest index is returned. 43| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 44| |/// @param v Pointer to vector. 45| |/// @return Index of maximum value in `v`. 46| 1|inline auto w_max_index(w_vector *v) { 47| 1| return gsl_vector_int_max_index(v); 48| 1|} 49| | 50| | 51| |/// Index of maximum value in vector `v`. 52| |/// When there are several equal maximum elements, lowest index is returned. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 54| |/// @param v Pointer to vector. 55| |/// @return Index of maximum value in `v`. 56| 1|inline auto w_max_index(w_vector *v) { 57| 1| return gsl_vector_uint_max_index(v); 58| 1|} 59| | 60| | 61| |/// Index of maximum value in vector `v`. 62| |/// When there are several equal maximum elements, lowest index is returned. 63| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 64| |/// @param v Pointer to vector. 65| |/// @return Index of maximum value in `v`. 66| 1|inline auto w_max_index(w_vector *v) { 67| 1| return gsl_vector_long_max_index(v); 68| 1|} 69| | 70| | 71| |/// Index of maximum value in vector `v`. 72| |/// When there are several equal maximum elements, lowest index is returned. 73| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 74| |/// @param v Pointer to vector. 75| |/// @return Index of maximum value in `v`. 76| 1|inline auto w_max_index(w_vector *v) { 77| 1| return gsl_vector_ulong_max_index(v); 78| 1|} 79| | 80| | 81| |/// Index of maximum value in vector `v`. 82| |/// When there are several equal maximum elements, lowest index is returned. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 84| |/// @param v Pointer to vector. 85| |/// @return Index of maximum value in `v`. 86| 1|inline auto w_max_index(w_vector *v) { 87| 1| return gsl_vector_short_max_index(v); 88| 1|} 89| | 90| | 91| |/// Index of maximum value in vector `v`. 92| |/// When there are several equal maximum elements, lowest index is returned. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 94| |/// @param v Pointer to vector. 95| |/// @return Index of maximum value in `v`. 96| 1|inline auto w_max_index(w_vector *v) { 97| 1| return gsl_vector_ushort_max_index(v); 98| 1|} 99| | 100| | 101| |/// Index of maximum value in vector `v`. 102| |/// When there are several equal maximum elements, lowest index is returned. 103| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 104| |/// @param v Pointer to vector. 105| |/// @return Index of maximum value in `v`. 106| 1|inline auto w_max_index(w_vector *v) { 107| 1| return gsl_vector_char_max_index(v); 108| 1|} 109| | 110| | 111| |/// Index of maximum value in vector `v`. 112| |/// When there are several equal maximum elements, lowest index is returned. 113| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max_index 114| |/// @param v Pointer to vector. 115| |/// @return Index of maximum value in `v`. 116| 1|inline auto w_max_index(w_vector *v) { 117| 1| return gsl_vector_uchar_max_index(v); 118| 1|} 119| | 120| |} // namespace gsl 121| | 122| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/max.hpp: 1| |/// \file include/gslcpp/wrap/max.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_max(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector // vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Maximum value in vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 13| |/// @param v Pointer to vector. 14| |/// @return Maximum value in `v`. 15| 1|inline auto w_max(w_vector *v) { return gsl_vector_max(v); } 16| | 17| | 18| |/// Maximum value in vector `v`. 19| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 20| |/// @param v Pointer to vector. 21| |/// @return Maximum value in `v`. 22| 1|inline auto w_max(w_vector *v) { return gsl_vector_float_max(v); } 23| | 24| | 25| |/// Maximum value in vector `v`. 26| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 27| |/// @param v Pointer to vector. 28| |/// @return Maximum value in `v`. 29| 1|inline auto w_max(w_vector *v) { 30| 1| return gsl_vector_long_double_max(v); 31| 1|} 32| | 33| | 34| |/// Maximum value in vector `v`. 35| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 36| |/// @param v Pointer to vector. 37| |/// @return Maximum value in `v`. 38| 1|inline auto w_max(w_vector *v) { return gsl_vector_int_max(v); } 39| | 40| | 41| |/// Maximum value in vector `v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 43| |/// @param v Pointer to vector. 44| |/// @return Maximum value in `v`. 45| 1|inline auto w_max(w_vector *v) { 46| 1| return gsl_vector_uint_max(v); 47| 1|} 48| | 49| | 50| |/// Maximum value in vector `v`. 51| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 52| |/// @param v Pointer to vector. 53| |/// @return Maximum value in `v`. 54| 1|inline auto w_max(w_vector *v) { return gsl_vector_long_max(v); } 55| | 56| | 57| |/// Maximum value in vector `v`. 58| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 59| |/// @param v Pointer to vector. 60| |/// @return Maximum value in `v`. 61| 1|inline auto w_max(w_vector *v) { 62| 1| return gsl_vector_ulong_max(v); 63| 1|} 64| | 65| | 66| |/// Maximum value in vector `v`. 67| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 68| |/// @param v Pointer to vector. 69| |/// @return Maximum value in `v`. 70| 1|inline auto w_max(w_vector *v) { return gsl_vector_short_max(v); } 71| | 72| | 73| |/// Maximum value in vector `v`. 74| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 75| |/// @param v Pointer to vector. 76| |/// @return Maximum value in `v`. 77| 1|inline auto w_max(w_vector *v) { 78| 1| return gsl_vector_ushort_max(v); 79| 1|} 80| | 81| | 82| |/// Maximum value in vector `v`. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 84| |/// @param v Pointer to vector. 85| |/// @return Maximum value in `v`. 86| 1|inline auto w_max(w_vector *v) { return gsl_vector_char_max(v); } 87| | 88| | 89| |/// Maximum value in vector `v`. 90| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_max 91| |/// @param v Pointer to vector. 92| |/// @return Maximum value in `v`. 93| 1|inline auto w_max(w_vector *v) { 94| 1| return gsl_vector_uchar_max(v); 95| 1|} 96| | 97| | 98| |} // namespace gsl 99| | 100| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/memcpy.hpp: 1| |/// \file include/gslcpp/wrap/memcpy.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_memcpy(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Copy elements of vector `v` into vector `u`. 12| |/// Each vector must have same length. 13| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 14| |/// @param u Pointer to vector that is destination of copying. 15| |/// @param v Pointer to vector that is source of copying. 16| |/// @return TBD: GSL's documentation does not specify. 17| 64|inline int w_memcpy(w_vector *u, w_vector *v) { 18| 64| return gsl_vector_memcpy(u, v); 19| 64|} 20| | 21| | 22| |/// Copy elements of vector `v` into vector `u`. 23| |/// Each vector must have same length. 24| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 25| |/// @param u Pointer to vector that is destination of copying. 26| |/// @param v Pointer to vector that is source of copying. 27| |/// @return TBD: GSL's documentation does not specify. 28| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 29| 52| return gsl_vector_float_memcpy(u, v); 30| 52|} 31| | 32| | 33| |/// Copy elements of vector `v` into vector `u`. 34| |/// Each vector must have same length. 35| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 36| |/// @param u Pointer to vector that is destination of copying. 37| |/// @param v Pointer to vector that is source of copying. 38| |/// @return TBD: GSL's documentation does not specify. 39| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 40| 52| return gsl_vector_long_double_memcpy(u, v); 41| 52|} 42| | 43| | 44| |/// Copy elements of vector `v` into vector `u`. 45| |/// Each vector must have same length. 46| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 47| |/// @param u Pointer to vector that is destination of copying. 48| |/// @param v Pointer to vector that is source of copying. 49| |/// @return TBD: GSL's documentation does not specify. 50| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 51| 52| return gsl_vector_int_memcpy(u, v); 52| 52|} 53| | 54| | 55| |/// Copy elements of vector `v` into vector `u`. 56| |/// Each vector must have same length. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 58| |/// @param u Pointer to vector that is destination of copying. 59| |/// @param v Pointer to vector that is source of copying. 60| |/// @return TBD: GSL's documentation does not specify. 61| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 62| 52| return gsl_vector_uint_memcpy(u, v); 63| 52|} 64| | 65| | 66| |/// Copy elements of vector `v` into vector `u`. 67| |/// Each vector must have same length. 68| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 69| |/// @param u Pointer to vector that is destination of copying. 70| |/// @param v Pointer to vector that is source of copying. 71| |/// @return TBD: GSL's documentation does not specify. 72| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 73| 52| return gsl_vector_long_memcpy(u, v); 74| 52|} 75| | 76| | 77| |/// Copy elements of vector `v` into vector `u`. 78| |/// Each vector must have same length. 79| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 80| |/// @param u Pointer to vector that is destination of copying. 81| |/// @param v Pointer to vector that is source of copying. 82| |/// @return TBD: GSL's documentation does not specify. 83| |inline int 84| 52|w_memcpy(w_vector *u, w_vector *v) { 85| 52| return gsl_vector_ulong_memcpy(u, v); 86| 52|} 87| | 88| | 89| |/// Copy elements of vector `v` into vector `u`. 90| |/// Each vector must have same length. 91| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 92| |/// @param u Pointer to vector that is destination of copying. 93| |/// @param v Pointer to vector that is source of copying. 94| |/// @return TBD: GSL's documentation does not specify. 95| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 96| 52| return gsl_vector_short_memcpy(u, v); 97| 52|} 98| | 99| | 100| |/// Copy elements of vector `v` into vector `u`. 101| |/// Each vector must have same length. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 103| |/// @param u Pointer to vector that is destination of copying. 104| |/// @param v Pointer to vector that is source of copying. 105| |/// @return TBD: GSL's documentation does not specify. 106| |inline int 107| 52|w_memcpy(w_vector *u, w_vector *v) { 108| 52| return gsl_vector_ushort_memcpy(u, v); 109| 52|} 110| | 111| | 112| |/// Copy elements of vector `v` into vector `u`. 113| |/// Each vector must have same length. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 115| |/// @param u Pointer to vector that is destination of copying. 116| |/// @param v Pointer to vector that is source of copying. 117| |/// @return TBD: GSL's documentation does not specify. 118| 52|inline int w_memcpy(w_vector *u, w_vector *v) { 119| 52| return gsl_vector_char_memcpy(u, v); 120| 52|} 121| | 122| | 123| |/// Copy elements of vector `v` into vector `u`. 124| |/// Each vector must have same length. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 126| |/// @param u Pointer to vector that is destination of copying. 127| |/// @param v Pointer to vector that is source of copying. 128| |/// @return TBD: GSL's documentation does not specify. 129| |inline int 130| 52|w_memcpy(w_vector *u, w_vector *v) { 131| 52| return gsl_vector_uchar_memcpy(u, v); 132| 52|} 133| | 134| | 135| |/// Copy elements of vector `v` into vector `u`. 136| |/// Each vector must have same length. 137| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 138| |/// @param u Pointer to vector that is destination of copying. 139| |/// @param v Pointer to vector that is source of copying. 140| |/// @return TBD: GSL's documentation does not specify. 141| |inline int 142| 53|w_memcpy(w_vector> *u, w_vector const> *v) { 143| 53| return gsl_vector_complex_memcpy(u, v); 144| 53|} 145| | 146| | 147| |/// Copy elements of vector `v` into vector `u`. 148| |/// Each vector must have same length. 149| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 150| |/// @param u Pointer to vector that is destination of copying. 151| |/// @param v Pointer to vector that is source of copying. 152| |/// @return TBD: GSL's documentation does not specify. 153| |inline int 154| 53|w_memcpy(w_vector> *u, w_vector const> *v) { 155| 53| return gsl_vector_complex_float_memcpy(u, v); 156| 53|} 157| | 158| | 159| |/// Copy elements of vector `v` into vector `u`. 160| |/// Each vector must have same length. 161| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_memcpy 162| |/// @param u Pointer to vector that is destination of copying. 163| |/// @param v Pointer to vector that is source of copying. 164| |/// @return TBD: GSL's documentation does not specify. 165| |inline int w_memcpy( 166| | w_vector> *u, 167| 53| w_vector const> *v) { 168| 53| return gsl_vector_complex_long_double_memcpy(u, v); 169| 53|} 170| | 171| | 172| |} // namespace gsl 173| | 174| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/min-index.hpp: 1| |/// \file include/gslcpp/wrap/min-index.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_min_index(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector // vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Index of minimum value in vector `v`. 12| |/// When several equal minimum elements are found, lowest index is returned. 13| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 14| |/// @param v Pointer to vector. 15| |/// @return Index of minimum value in `v`. 16| 1|inline auto w_min_index(w_vector *v) { 17| 1| return gsl_vector_min_index(v); 18| 1|} 19| | 20| | 21| |/// Index of minimum value in vector `v`. 22| |/// When several equal minimum elements are found, lowest index is returned. 23| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 24| |/// @param v Pointer to vector. 25| |/// @return Index of minimum value in `v`. 26| 1|inline auto w_min_index(w_vector *v) { 27| 1| return gsl_vector_float_min_index(v); 28| 1|} 29| | 30| | 31| |/// Index of minimum value in vector `v`. 32| |/// When several equal minimum elements are found, lowest index is returned. 33| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 34| |/// @param v Pointer to vector. 35| |/// @return Index of minimum value in `v`. 36| 1|inline auto w_min_index(w_vector *v) { 37| 1| return gsl_vector_long_double_min_index(v); 38| 1|} 39| | 40| | 41| |/// Index of minimum value in vector `v`. 42| |/// When several equal minimum elements are found, lowest index is returned. 43| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 44| |/// @param v Pointer to vector. 45| |/// @return Index of minimum value in `v`. 46| 1|inline auto w_min_index(w_vector *v) { 47| 1| return gsl_vector_int_min_index(v); 48| 1|} 49| | 50| | 51| |/// Index of minimum value in vector `v`. 52| |/// When several equal minimum elements are found, lowest index is returned. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 54| |/// @param v Pointer to vector. 55| |/// @return Index of minimum value in `v`. 56| 1|inline auto w_min_index(w_vector *v) { 57| 1| return gsl_vector_uint_min_index(v); 58| 1|} 59| | 60| | 61| |/// Index of minimum value in vector `v`. 62| |/// When several equal minimum elements are found, lowest index is returned. 63| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 64| |/// @param v Pointer to vector. 65| |/// @return Index of minimum value in `v`. 66| 1|inline auto w_min_index(w_vector *v) { 67| 1| return gsl_vector_long_min_index(v); 68| 1|} 69| | 70| | 71| |/// Index of minimum value in vector `v`. 72| |/// When several equal minimum elements are found, lowest index is returned. 73| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 74| |/// @param v Pointer to vector. 75| |/// @return Index of minimum value in `v`. 76| 1|inline auto w_min_index(w_vector *v) { 77| 1| return gsl_vector_ulong_min_index(v); 78| 1|} 79| | 80| | 81| |/// Index of minimum value in vector `v`. 82| |/// When several equal minimum elements are found, lowest index is returned. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 84| |/// @param v Pointer to vector. 85| |/// @return Index of minimum value in `v`. 86| 1|inline auto w_min_index(w_vector *v) { 87| 1| return gsl_vector_short_min_index(v); 88| 1|} 89| | 90| | 91| |/// Index of minimum value in vector `v`. 92| |/// When several equal minimum elements are found, lowest index is returned. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 94| |/// @param v Pointer to vector. 95| |/// @return Index of minimum value in `v`. 96| 1|inline auto w_min_index(w_vector *v) { 97| 1| return gsl_vector_ushort_min_index(v); 98| 1|} 99| | 100| | 101| |/// Index of minimum value in vector `v`. 102| |/// When several equal minimum elements are found, lowest index is returned. 103| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 104| |/// @param v Pointer to vector. 105| |/// @return Index of minimum value in `v`. 106| 1|inline auto w_min_index(w_vector *v) { 107| 1| return gsl_vector_char_min_index(v); 108| 1|} 109| | 110| | 111| |/// Index of minimum value in vector `v`. 112| |/// When several equal minimum elements are found, lowest index is returned. 113| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min_index 114| |/// @param v Pointer to vector. 115| |/// @return Index of minimum value in `v`. 116| 1|inline auto w_min_index(w_vector *v) { 117| 1| return gsl_vector_uchar_min_index(v); 118| 1|} 119| | 120| | 121| |} // namespace gsl 122| | 123| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/min.hpp: 1| |/// \file include/gslcpp/wrap/min.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_min(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector // vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Minimum value in vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 13| |/// @param v Pointer to vector. 14| |/// @return Minimum value in `v`. 15| 1|inline auto w_min(w_vector *v) { return gsl_vector_min(v); } 16| | 17| | 18| |/// Minimum value in vector `v`. 19| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 20| |/// @param v Pointer to vector. 21| |/// @return Minimum value in `v`. 22| 1|inline auto w_min(w_vector *v) { return gsl_vector_float_min(v); } 23| | 24| | 25| |/// Minimum value in vector `v`. 26| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 27| |/// @param v Pointer to vector. 28| |/// @return Minimum value in `v`. 29| 1|inline auto w_min(w_vector *v) { 30| 1| return gsl_vector_long_double_min(v); 31| 1|} 32| | 33| | 34| |/// Minimum value in vector `v`. 35| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 36| |/// @param v Pointer to vector. 37| |/// @return Minimum value in `v`. 38| 1|inline auto w_min(w_vector *v) { return gsl_vector_int_min(v); } 39| | 40| | 41| |/// Minimum value in vector `v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 43| |/// @param v Pointer to vector. 44| |/// @return Minimum value in `v`. 45| 1|inline auto w_min(w_vector *v) { 46| 1| return gsl_vector_uint_min(v); 47| 1|} 48| | 49| | 50| |/// Minimum value in vector `v`. 51| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 52| |/// @param v Pointer to vector. 53| |/// @return Minimum value in `v`. 54| 1|inline auto w_min(w_vector *v) { return gsl_vector_long_min(v); } 55| | 56| | 57| |/// Minimum value in vector `v`. 58| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 59| |/// @param v Pointer to vector. 60| |/// @return Minimum value in `v`. 61| 1|inline auto w_min(w_vector *v) { 62| 1| return gsl_vector_ulong_min(v); 63| 1|} 64| | 65| | 66| |/// Minimum value in vector `v`. 67| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 68| |/// @param v Pointer to vector. 69| |/// @return Minimum value in `v`. 70| 1|inline auto w_min(w_vector *v) { return gsl_vector_short_min(v); } 71| | 72| | 73| |/// Minimum value in vector `v`. 74| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 75| |/// @param v Pointer to vector. 76| |/// @return Minimum value in `v`. 77| 1|inline auto w_min(w_vector *v) { 78| 1| return gsl_vector_ushort_min(v); 79| 1|} 80| | 81| | 82| |/// Minimum value in vector `v`. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 84| |/// @param v Pointer to vector. 85| |/// @return Minimum value in `v`. 86| 1|inline auto w_min(w_vector *v) { return gsl_vector_char_min(v); } 87| | 88| | 89| |/// Minimum value in vector `v`. 90| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_min 91| |/// @param v Pointer to vector. 92| |/// @return Minimum value in `v`. 93| 1|inline auto w_min(w_vector *v) { 94| 1| return gsl_vector_uchar_min(v); 95| 1|} 96| | 97| |} // namespace gsl 98| | 99| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/minmax-index.hpp: 1| |/// \file include/gslcpp/wrap/minmax-index.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_minmax_index(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector // vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Return indices of minimum and maximum values in vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 13| |/// @param v Pointer to vector. 14| |/// @param min Pointer to storage for offset of minimum value. 15| |/// @param max Pointer to storage ofo offset of maximum value. 16| |inline void 17| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 18| 1| return gsl_vector_minmax_index(v, min, max); 19| 1|} 20| | 21| | 22| |/// Return indices of minimum and maximum values in vector `v`. 23| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 24| |/// @param v Pointer to vector. 25| |/// @param min Pointer to storage for offset of minimum value. 26| |/// @param max Pointer to storage ofo offset of maximum value. 27| |inline void 28| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 29| 1| return gsl_vector_float_minmax_index(v, min, max); 30| 1|} 31| | 32| | 33| |/// Return indices of minimum and maximum values in vector `v`. 34| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 35| |/// @param v Pointer to vector. 36| |/// @param min Pointer to storage for offset of minimum value. 37| |/// @param max Pointer to storage ofo offset of maximum value. 38| |inline void 39| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 40| 1| return gsl_vector_long_double_minmax_index(v, min, max); 41| 1|} 42| | 43| | 44| |/// Return indices of minimum and maximum values in vector `v`. 45| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 46| |/// @param v Pointer to vector. 47| |/// @param min Pointer to storage for offset of minimum value. 48| |/// @param max Pointer to storage ofo offset of maximum value. 49| 1|inline void w_minmax_index(w_vector *v, size_t *min, size_t *max) { 50| 1| return gsl_vector_int_minmax_index(v, min, max); 51| 1|} 52| | 53| | 54| |/// Return indices of minimum and maximum values in vector `v`. 55| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 56| |/// @param v Pointer to vector. 57| |/// @param min Pointer to storage for offset of minimum value. 58| |/// @param max Pointer to storage ofo offset of maximum value. 59| |inline void 60| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 61| 1| return gsl_vector_uint_minmax_index(v, min, max); 62| 1|} 63| | 64| | 65| |/// Return indices of minimum and maximum values in vector `v`. 66| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 67| |/// @param v Pointer to vector. 68| |/// @param min Pointer to storage for offset of minimum value. 69| |/// @param max Pointer to storage ofo offset of maximum value. 70| 1|inline void w_minmax_index(w_vector *v, size_t *min, size_t *max) { 71| 1| return gsl_vector_long_minmax_index(v, min, max); 72| 1|} 73| | 74| | 75| |/// Return indices of minimum and maximum values in vector `v`. 76| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 77| |/// @param v Pointer to vector. 78| |/// @param min Pointer to storage for offset of minimum value. 79| |/// @param max Pointer to storage ofo offset of maximum value. 80| |inline void 81| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 82| 1| return gsl_vector_ulong_minmax_index(v, min, max); 83| 1|} 84| | 85| | 86| |/// Return indices of minimum and maximum values in vector `v`. 87| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 88| |/// @param v Pointer to vector. 89| |/// @param min Pointer to storage for offset of minimum value. 90| |/// @param max Pointer to storage ofo offset of maximum value. 91| |inline void 92| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 93| 1| return gsl_vector_short_minmax_index(v, min, max); 94| 1|} 95| | 96| | 97| |/// Return indices of minimum and maximum values in vector `v`. 98| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 99| |/// @param v Pointer to vector. 100| |/// @param min Pointer to storage for offset of minimum value. 101| |/// @param max Pointer to storage ofo offset of maximum value. 102| |inline void 103| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 104| 1| return gsl_vector_ushort_minmax_index(v, min, max); 105| 1|} 106| | 107| | 108| |/// Return indices of minimum and maximum values in vector `v`. 109| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 110| |/// @param v Pointer to vector. 111| |/// @param min Pointer to storage for offset of minimum value. 112| |/// @param max Pointer to storage ofo offset of maximum value. 113| 1|inline void w_minmax_index(w_vector *v, size_t *min, size_t *max) { 114| 1| return gsl_vector_char_minmax_index(v, min, max); 115| 1|} 116| | 117| | 118| |/// Return indices of minimum and maximum values in vector `v`. 119| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax_index 120| |/// @param v Pointer to vector. 121| |/// @param min Pointer to storage for offset of minimum value. 122| |/// @param max Pointer to storage ofo offset of maximum value. 123| |inline void 124| 1|w_minmax_index(w_vector *v, size_t *min, size_t *max) { 125| 1| return gsl_vector_uchar_minmax_index(v, min, max); 126| 1|} 127| | 128| |} // namespace gsl 129| | 130| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/minmax.hpp: 1| |/// \file include/gslcpp/wrap/minmax.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_minmax(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector // vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Return minimum and maximum values in vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 13| |/// @param v Pointer to vector. 14| |/// @param min Pointer to storage for minimum value. 15| |/// @param max Pointer to storage for maximum value. 16| 1|inline void w_minmax(w_vector *v, double *min, double *max) { 17| 1| return gsl_vector_minmax(v, min, max); 18| 1|} 19| | 20| | 21| |/// Return minimum and maximum values in vector `v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 23| |/// @param v Pointer to vector. 24| |/// @param min Pointer to storage for minimum value. 25| |/// @param max Pointer to storage for maximum value. 26| 1|inline void w_minmax(w_vector *v, float *min, float *max) { 27| 1| return gsl_vector_float_minmax(v, min, max); 28| 1|} 29| | 30| | 31| |/// Return minimum and maximum values in vector `v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 33| |/// @param v Pointer to vector. 34| |/// @param min Pointer to storage for minimum value. 35| |/// @param max Pointer to storage for maximum value. 36| |inline void 37| 1|w_minmax(w_vector *v, long double *min, long double *max) { 38| 1| return gsl_vector_long_double_minmax(v, min, max); 39| 1|} 40| | 41| | 42| |/// Return minimum and maximum values in vector `v`. 43| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 44| |/// @param v Pointer to vector. 45| |/// @param min Pointer to storage for minimum value. 46| |/// @param max Pointer to storage for maximum value. 47| 1|inline void w_minmax(w_vector *v, int *min, int *max) { 48| 1| return gsl_vector_int_minmax(v, min, max); 49| 1|} 50| | 51| | 52| |/// Return minimum and maximum values in vector `v`. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 54| |/// @param v Pointer to vector. 55| |/// @param min Pointer to storage for minimum value. 56| |/// @param max Pointer to storage for maximum value. 57| |inline void 58| 1|w_minmax(w_vector *v, unsigned *min, unsigned *max) { 59| 1| return gsl_vector_uint_minmax(v, min, max); 60| 1|} 61| | 62| | 63| |/// Return minimum and maximum values in vector `v`. 64| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 65| |/// @param v Pointer to vector. 66| |/// @param min Pointer to storage for minimum value. 67| |/// @param max Pointer to storage for maximum value. 68| 1|inline void w_minmax(w_vector *v, long *min, long *max) { 69| 1| return gsl_vector_long_minmax(v, min, max); 70| 1|} 71| | 72| | 73| |/// Return minimum and maximum values in vector `v`. 74| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 75| |/// @param v Pointer to vector. 76| |/// @param min Pointer to storage for minimum value. 77| |/// @param max Pointer to storage for maximum value. 78| |inline void w_minmax( 79| | w_vector *v, 80| | unsigned long *min, 81| 1| unsigned long *max) { 82| 1| return gsl_vector_ulong_minmax(v, min, max); 83| 1|} 84| | 85| | 86| |/// Return minimum and maximum values in vector `v`. 87| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 88| |/// @param v Pointer to vector. 89| |/// @param min Pointer to storage for minimum value. 90| |/// @param max Pointer to storage for maximum value. 91| 1|inline void w_minmax(w_vector *v, short *min, short *max) { 92| 1| return gsl_vector_short_minmax(v, min, max); 93| 1|} 94| | 95| | 96| |/// Return minimum and maximum values in vector `v`. 97| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 98| |/// @param v Pointer to vector. 99| |/// @param min Pointer to storage for minimum value. 100| |/// @param max Pointer to storage for maximum value. 101| |inline void w_minmax( 102| | w_vector *v, 103| | unsigned short *min, 104| 1| unsigned short *max) { 105| 1| return gsl_vector_ushort_minmax(v, min, max); 106| 1|} 107| | 108| | 109| |/// Return minimum and maximum values in vector `v`. 110| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 111| |/// @param v Pointer to vector. 112| |/// @param min Pointer to storage for minimum value. 113| |/// @param max Pointer to storage for maximum value. 114| 1|inline void w_minmax(w_vector *v, char *min, char *max) { 115| 1| return gsl_vector_char_minmax(v, min, max); 116| 1|} 117| | 118| | 119| |/// Return minimum and maximum values in vector `v`. 120| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_minmax 121| |/// @param v Pointer to vector. 122| |/// @param min Pointer to storage for minimum value. 123| |/// @param max Pointer to storage for maximum value. 124| |inline void w_minmax( 125| | w_vector *v, 126| | unsigned char *min, 127| 1| unsigned char *max) { 128| 1| return gsl_vector_uchar_minmax(v, min, max); 129| 1|} 130| | 131| | 132| |} // namespace gsl 133| | 134| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/mul.hpp: 1| |/// \file include/gslcpp/wrap/mul.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_mul(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 13| |/// @param u Pointer to vector that `v` will multiply into. 14| |/// @param v Pointer to vector that will multiply in to `u`. 15| |/// @return TBD: GSL's documentation does not specify. 16| 2|inline int w_mul(w_vector *u, w_vector *v) { 17| 2| return gsl_vector_mul(u, v); 18| 2|} 19| | 20| | 21| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 23| |/// @param u Pointer to vector that `v` will multiply into. 24| |/// @param v Pointer to vector that will multiply in to `u`. 25| |/// @return TBD: GSL's documentation does not specify. 26| 2|inline int w_mul(w_vector *u, w_vector *v) { 27| 2| return gsl_vector_float_mul(u, v); 28| 2|} 29| | 30| | 31| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 33| |/// @param u Pointer to vector that `v` will multiply into. 34| |/// @param v Pointer to vector that will multiply in to `u`. 35| |/// @return TBD: GSL's documentation does not specify. 36| 2|inline int w_mul(w_vector *u, w_vector *v) { 37| 2| return gsl_vector_long_double_mul(u, v); 38| 2|} 39| | 40| | 41| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 43| |/// @param u Pointer to vector that `v` will multiply into. 44| |/// @param v Pointer to vector that will multiply in to `u`. 45| |/// @return TBD: GSL's documentation does not specify. 46| 2|inline int w_mul(w_vector *u, w_vector *v) { 47| 2| return gsl_vector_int_mul(u, v); 48| 2|} 49| | 50| | 51| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 53| |/// @param u Pointer to vector that `v` will multiply into. 54| |/// @param v Pointer to vector that will multiply in to `u`. 55| |/// @return TBD: GSL's documentation does not specify. 56| 2|inline int w_mul(w_vector *u, w_vector *v) { 57| 2| return gsl_vector_uint_mul(u, v); 58| 2|} 59| | 60| | 61| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 63| |/// @param u Pointer to vector that `v` will multiply into. 64| |/// @param v Pointer to vector that will multiply in to `u`. 65| |/// @return TBD: GSL's documentation does not specify. 66| 2|inline int w_mul(w_vector *u, w_vector *v) { 67| 2| return gsl_vector_long_mul(u, v); 68| 2|} 69| | 70| | 71| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 73| |/// @param u Pointer to vector that `v` will multiply into. 74| |/// @param v Pointer to vector that will multiply in to `u`. 75| |/// @return TBD: GSL's documentation does not specify. 76| |inline int 77| 2|w_mul(w_vector *u, w_vector *v) { 78| 2| return gsl_vector_ulong_mul(u, v); 79| 2|} 80| | 81| | 82| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 84| |/// @param u Pointer to vector that `v` will multiply into. 85| |/// @param v Pointer to vector that will multiply in to `u`. 86| |/// @return TBD: GSL's documentation does not specify. 87| 2|inline int w_mul(w_vector *u, w_vector *v) { 88| 2| return gsl_vector_short_mul(u, v); 89| 2|} 90| | 91| | 92| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 94| |/// @param u Pointer to vector that `v` will multiply into. 95| |/// @param v Pointer to vector that will multiply in to `u`. 96| |/// @return TBD: GSL's documentation does not specify. 97| |inline int 98| 2|w_mul(w_vector *u, w_vector *v) { 99| 2| return gsl_vector_ushort_mul(u, v); 100| 2|} 101| | 102| | 103| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 104| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 105| |/// @param u Pointer to vector that `v` will multiply into. 106| |/// @param v Pointer to vector that will multiply in to `u`. 107| |/// @return TBD: GSL's documentation does not specify. 108| 2|inline int w_mul(w_vector *u, w_vector *v) { 109| 2| return gsl_vector_char_mul(u, v); 110| 2|} 111| | 112| | 113| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 115| |/// @param u Pointer to vector that `v` will multiply into. 116| |/// @param v Pointer to vector that will multiply in to `u`. 117| |/// @return TBD: GSL's documentation does not specify. 118| |inline int 119| 2|w_mul(w_vector *u, w_vector *v) { 120| 2| return gsl_vector_uchar_mul(u, v); 121| 2|} 122| | 123| | 124| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 126| |/// @param u Pointer to vector that `v` will multiply into. 127| |/// @param v Pointer to vector that will multiply in to `u`. 128| |/// @return TBD: GSL's documentation does not specify. 129| |inline int 130| 2|w_mul(w_vector> *u, w_vector const> *v) { 131| 2| return gsl_vector_complex_mul(u, v); 132| 2|} 133| | 134| | 135| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 136| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 137| |/// @param u Pointer to vector that `v` will multiply into. 138| |/// @param v Pointer to vector that will multiply in to `u`. 139| |/// @return TBD: GSL's documentation does not specify. 140| |inline int 141| 2|w_mul(w_vector> *u, w_vector const> *v) { 142| 2| return gsl_vector_complex_float_mul(u, v); 143| 2|} 144| | 145| | 146| |/// For vectors `u` and `v`, produce, element by element, `u = u * v`. 147| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_mul 148| |/// @param u Pointer to vector that `v` will multiply into. 149| |/// @param v Pointer to vector that will multiply in to `u`. 150| |/// @return TBD: GSL's documentation does not specify. 151| |inline int 152| |w_mul(w_vector> *u, 153| 2| w_vector const> *v) { 154| 2| return gsl_vector_complex_long_double_mul(u, v); 155| 2|} 156| | 157| | 158| |} // namespace gsl 159| | 160| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/ptr.hpp: 1| |/// \file include/gslcpp/wrap/ptr.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_ptr(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 13| |/// @param v Pointer to vector. 14| |/// @param i Offset of element in vector. 15| |/// @return Pointer to element at offset `i` in `v`. 16| 4|inline auto *w_ptr(w_vector *v, size_t i) { 17| 4| return gsl_vector_ptr(v, i); 18| 4|} 19| | 20| | 21| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 23| |/// @param v Pointer to vector. 24| |/// @param i Offset of element in vector. 25| |/// @return Pointer to element at offset `i` in `v`. 26| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 27| 3| return gsl_vector_const_ptr(v, i); 28| 3|} 29| | 30| | 31| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 33| |/// @param v Pointer to vector. 34| |/// @param i Offset of element in vector. 35| |/// @return Pointer to element at offset `i` in `v`. 36| 4|inline auto *w_ptr(w_vector *v, size_t i) { 37| 4| return gsl_vector_float_ptr(v, i); 38| 4|} 39| | 40| | 41| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 43| |/// @param v Pointer to vector. 44| |/// @param i Offset of element in vector. 45| |/// @return Pointer to element at offset `i` in `v`. 46| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 47| 3| return gsl_vector_float_const_ptr(v, i); 48| 3|} 49| | 50| | 51| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 53| |/// @param v Pointer to vector. 54| |/// @param i Offset of element in vector. 55| |/// @return Pointer to element at offset `i` in `v`. 56| 4|inline auto *w_ptr(w_vector *v, size_t i) { 57| 4| return gsl_vector_long_double_ptr(v, i); 58| 4|} 59| | 60| | 61| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 63| |/// @param v Pointer to vector. 64| |/// @param i Offset of element in vector. 65| |/// @return Pointer to element at offset `i` in `v`. 66| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 67| 3| return gsl_vector_long_double_const_ptr(v, i); 68| 3|} 69| | 70| | 71| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 73| |/// @param v Pointer to vector. 74| |/// @param i Offset of element in vector. 75| |/// @return Pointer to element at offset `i` in `v`. 76| 4|inline auto *w_ptr(w_vector *v, size_t i) { 77| 4| return gsl_vector_int_ptr(v, i); 78| 4|} 79| | 80| | 81| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 82| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 83| |/// @param v Pointer to vector. 84| |/// @param i Offset of element in vector. 85| |/// @return Pointer to element at offset `i` in `v`. 86| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 87| 3| return gsl_vector_int_const_ptr(v, i); 88| 3|} 89| | 90| | 91| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 93| |/// @param v Pointer to vector. 94| |/// @param i Offset of element in vector. 95| |/// @return Pointer to element at offset `i` in `v`. 96| 4|inline auto *w_ptr(w_vector *v, size_t i) { 97| 4| return gsl_vector_uint_ptr(v, i); 98| 4|} 99| | 100| | 101| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 103| |/// @param v Pointer to vector. 104| |/// @param i Offset of element in vector. 105| |/// @return Pointer to element at offset `i` in `v`. 106| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 107| 3| return gsl_vector_uint_const_ptr(v, i); 108| 3|} 109| | 110| | 111| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 113| |/// @param v Pointer to vector. 114| |/// @param i Offset of element in vector. 115| |/// @return Pointer to element at offset `i` in `v`. 116| 4|inline auto *w_ptr(w_vector *v, size_t i) { 117| 4| return gsl_vector_long_ptr(v, i); 118| 4|} 119| | 120| | 121| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 123| |/// @param v Pointer to vector. 124| |/// @param i Offset of element in vector. 125| |/// @return Pointer to element at offset `i` in `v`. 126| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 127| 3| return gsl_vector_long_const_ptr(v, i); 128| 3|} 129| | 130| | 131| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 132| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 133| |/// @param v Pointer to vector. 134| |/// @param i Offset of element in vector. 135| |/// @return Pointer to element at offset `i` in `v`. 136| 4|inline auto *w_ptr(w_vector *v, size_t i) { 137| 4| return gsl_vector_ulong_ptr(v, i); 138| 4|} 139| | 140| | 141| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 142| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 143| |/// @param v Pointer to vector. 144| |/// @param i Offset of element in vector. 145| |/// @return Pointer to element at offset `i` in `v`. 146| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 147| 3| return gsl_vector_ulong_const_ptr(v, i); 148| 3|} 149| | 150| | 151| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 152| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 153| |/// @param v Pointer to vector. 154| |/// @param i Offset of element in vector. 155| |/// @return Pointer to element at offset `i` in `v`. 156| 4|inline auto *w_ptr(w_vector *v, size_t i) { 157| 4| return gsl_vector_short_ptr(v, i); 158| 4|} 159| | 160| | 161| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 162| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 163| |/// @param v Pointer to vector. 164| |/// @param i Offset of element in vector. 165| |/// @return Pointer to element at offset `i` in `v`. 166| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 167| 3| return gsl_vector_short_const_ptr(v, i); 168| 3|} 169| | 170| | 171| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 172| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 173| |/// @param v Pointer to vector. 174| |/// @param i Offset of element in vector. 175| |/// @return Pointer to element at offset `i` in `v`. 176| 4|inline auto *w_ptr(w_vector *v, size_t i) { 177| 4| return gsl_vector_ushort_ptr(v, i); 178| 4|} 179| | 180| | 181| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 182| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 183| |/// @param v Pointer to vector. 184| |/// @param i Offset of element in vector. 185| |/// @return Pointer to element at offset `i` in `v`. 186| |inline unsigned short const * 187| 3|w_ptr(w_vector *v, size_t i) { 188| 3| return gsl_vector_ushort_const_ptr(v, i); 189| 3|} 190| | 191| | 192| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 193| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 194| |/// @param v Pointer to vector. 195| |/// @param i Offset of element in vector. 196| |/// @return Pointer to element at offset `i` in `v`. 197| 4|inline auto *w_ptr(w_vector *v, size_t i) { 198| 4| return gsl_vector_char_ptr(v, i); 199| 4|} 200| | 201| | 202| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 203| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 204| |/// @param v Pointer to vector. 205| |/// @param i Offset of element in vector. 206| |/// @return Pointer to element at offset `i` in `v`. 207| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 208| 3| return gsl_vector_char_const_ptr(v, i); 209| 3|} 210| | 211| | 212| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 213| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 214| |/// @param v Pointer to vector. 215| |/// @param i Offset of element in vector. 216| |/// @return Pointer to element at offset `i` in `v`. 217| 4|inline auto *w_ptr(w_vector *v, size_t i) { 218| 4| return gsl_vector_uchar_ptr(v, i); 219| 4|} 220| | 221| | 222| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 223| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 224| |/// @param v Pointer to vector. 225| |/// @param i Offset of element in vector. 226| |/// @return Pointer to element at offset `i` in `v`. 227| 3|inline auto const *w_ptr(w_vector *v, size_t i) { 228| 3| return gsl_vector_uchar_const_ptr(v, i); 229| 3|} 230| | 231| | 232| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 233| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 234| |/// @param v Pointer to vector. 235| |/// @param i Offset of element in vector. 236| |/// @return Pointer to element at offset `i` in `v`. 237| 4|inline auto *w_ptr(w_vector> *v, size_t i) { 238| 4| return (complex *)gsl_vector_complex_ptr(v, i); 239| 4|} 240| | 241| | 242| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 243| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 244| |/// @param v Pointer to vector. 245| |/// @param i Offset of element in vector. 246| |/// @return Pointer to element at offset `i` in `v`. 247| 3|inline auto const *w_ptr(w_vector const> *v, size_t i) { 248| 3| return (complex const *)gsl_vector_complex_const_ptr(v, i); 249| 3|} 250| | 251| | 252| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 253| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 254| |/// @param v Pointer to vector. 255| |/// @param i Offset of element in vector. 256| |/// @return Pointer to element at offset `i` in `v`. 257| 4|inline auto *w_ptr(w_vector> *v, size_t i) { 258| 4| return (complex *)gsl_vector_complex_float_ptr(v, i); 259| 4|} 260| | 261| | 262| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 263| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 264| |/// @param v Pointer to vector. 265| |/// @param i Offset of element in vector. 266| |/// @return Pointer to element at offset `i` in `v`. 267| 3|inline auto const *w_ptr(w_vector const> *v, size_t i) { 268| 3| return (complex const *)gsl_vector_complex_float_const_ptr(v, i); 269| 3|} 270| | 271| | 272| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 273| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 274| |/// @param v Pointer to vector. 275| |/// @param i Offset of element in vector. 276| |/// @return Pointer to element at offset `i` in `v`. 277| 4|inline auto *w_ptr(w_vector> *v, size_t i) { 278| 4| return (complex *)gsl_vector_complex_long_double_ptr(v, i); 279| 4|} 280| | 281| | 282| |/// Pointer to `i`th element of vector `v`, with bounds-checking. 283| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_ptr 284| |/// @param v Pointer to vector. 285| |/// @param i Offset of element in vector. 286| |/// @return Pointer to element at offset `i` in `v`. 287| 3|inline auto const *w_ptr(w_vector const> *v, size_t i) { 288| 3| return (complex const *) 289| 3| gsl_vector_complex_long_double_const_ptr(v, i); 290| 3|} 291| | 292| | 293| |} // namespace gsl 294| | 295| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/real.hpp: 1| |/// @file include/gslcpp/wrap/real.hpp 2| |/// @copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// @brief Definition of gsl::w_real(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Real part (identity-view) of real vector. 12| |/// @param v Pointer to vector. 13| |/// @return Identity-view of real vector. 14| 2|inline auto w_real(w_vector *v) { 15| 2| return gsl_vector_subvector_with_stride(v, 0, 1, v->size); 16| 2|} 17| | 18| | 19| |/// Real part (identity-view) of real vector. 20| |/// @param v Pointer to vector. 21| |/// @return Identity-view of real vector. 22| 0|inline auto w_real(w_vector *v) { 23| 0| return gsl_vector_const_subvector_with_stride(v, 0, 1, v->size); 24| 0|} 25| | 26| | 27| |/// Real part (identity-view) of real vector. 28| |/// @param v Pointer to vector. 29| |/// @return Identity-view of real vector. 30| 2|inline auto w_real(w_vector *v) { 31| 2| return gsl_vector_float_subvector_with_stride(v, 0, 1, v->size); 32| 2|} 33| | 34| | 35| |/// Real part (identity-view) of real vector. 36| |/// @param v Pointer to vector. 37| |/// @return Identity-view of real vector. 38| 0|inline auto w_real(w_vector *v) { 39| 0| return gsl_vector_float_const_subvector_with_stride(v, 0, 1, v->size); 40| 0|} 41| | 42| | 43| |/// Real part (identity-view) of real vector. 44| |/// @param v Pointer to vector. 45| |/// @return Identity-view of real vector. 46| 2|inline auto w_real(w_vector *v) { 47| 2| return gsl_vector_long_double_subvector_with_stride(v, 0, 1, v->size); 48| 2|} 49| | 50| | 51| |/// Real part (identity-view) of real vector. 52| |/// @param v Pointer to vector. 53| |/// @return Identity-view of real vector. 54| 0|inline auto w_real(w_vector *v) { 55| 0| return gsl_vector_long_double_const_subvector_with_stride(v, 0, 1, v->size); 56| 0|} 57| | 58| | 59| |/// Real part (identity-view) of real vector. 60| |/// @param v Pointer to vector. 61| |/// @return Identity-view of real vector. 62| 2|inline auto w_real(w_vector *v) { 63| 2| return gsl_vector_int_subvector_with_stride(v, 0, 1, v->size); 64| 2|} 65| | 66| | 67| |/// Real part (identity-view) of real vector. 68| |/// @param v Pointer to vector. 69| |/// @return Identity-view of real vector. 70| 0|inline auto w_real(w_vector *v) { 71| 0| return gsl_vector_int_const_subvector_with_stride(v, 0, 1, v->size); 72| 0|} 73| | 74| | 75| |/// Real part (identity-view) of real vector. 76| |/// @param v Pointer to vector. 77| |/// @return Identity-view of real vector. 78| 2|inline auto w_real(w_vector *v) { 79| 2| return gsl_vector_uint_subvector_with_stride(v, 0, 1, v->size); 80| 2|} 81| | 82| | 83| |/// Real part (identity-view) of real vector. 84| |/// @param v Pointer to vector. 85| |/// @return Identity-view of real vector. 86| 0|inline auto w_real(w_vector *v) { 87| 0| return gsl_vector_uint_const_subvector_with_stride(v, 0, 1, v->size); 88| 0|} 89| | 90| | 91| |/// Real part (identity-view) of real vector. 92| |/// @param v Pointer to vector. 93| |/// @return Identity-view of real vector. 94| 2|inline auto w_real(w_vector *v) { 95| 2| return gsl_vector_long_subvector_with_stride(v, 0, 1, v->size); 96| 2|} 97| | 98| | 99| |/// Real part (identity-view) of real vector. 100| |/// @param v Pointer to vector. 101| |/// @return Identity-view of real vector. 102| 0|inline auto w_real(w_vector *v) { 103| 0| return gsl_vector_long_const_subvector_with_stride(v, 0, 1, v->size); 104| 0|} 105| | 106| | 107| |/// Real part (identity-view) of real vector. 108| |/// @param v Pointer to vector. 109| |/// @return Identity-view of real vector. 110| 2|inline auto w_real(w_vector *v) { 111| 2| return gsl_vector_ulong_subvector_with_stride(v, 0, 1, v->size); 112| 2|} 113| | 114| | 115| |/// Real part (identity-view) of real vector. 116| |/// @param v Pointer to vector. 117| |/// @return Identity-view of real vector. 118| 0|inline auto w_real(w_vector *v) { 119| 0| return gsl_vector_ulong_const_subvector_with_stride(v, 0, 1, v->size); 120| 0|} 121| | 122| | 123| |/// Real part (identity-view) of real vector. 124| |/// @param v Pointer to vector. 125| |/// @return Identity-view of real vector. 126| 2|inline auto w_real(w_vector *v) { 127| 2| return gsl_vector_short_subvector_with_stride(v, 0, 1, v->size); 128| 2|} 129| | 130| | 131| |/// Real part (identity-view) of real vector. 132| |/// @param v Pointer to vector. 133| |/// @return Identity-view of real vector. 134| 0|inline auto w_real(w_vector *v) { 135| 0| return gsl_vector_short_const_subvector_with_stride(v, 0, 1, v->size); 136| 0|} 137| | 138| | 139| |/// Real part (identity-view) of real vector. 140| |/// @param v Pointer to vector. 141| |/// @return Identity-view of real vector. 142| 2|inline auto w_real(w_vector *v) { 143| 2| return gsl_vector_ushort_subvector_with_stride(v, 0, 1, v->size); 144| 2|} 145| | 146| | 147| |/// Real part (identity-view) of real vector. 148| |/// @param v Pointer to vector. 149| |/// @return Identity-view of real vector. 150| 0|inline auto w_real(w_vector *v) { 151| 0| return gsl_vector_ushort_const_subvector_with_stride(v, 0, 1, v->size); 152| 0|} 153| | 154| | 155| |/// Real part (identity-view) of real vector. 156| |/// @param v Pointer to vector. 157| |/// @return Identity-view of real vector. 158| 2|inline auto w_real(w_vector *v) { 159| 2| return gsl_vector_char_subvector_with_stride(v, 0, 1, v->size); 160| 2|} 161| | 162| | 163| |/// Real part (identity-view) of real vector. 164| |/// @param v Pointer to vector. 165| |/// @return Identity-view of real vector. 166| 0|inline auto w_real(w_vector *v) { 167| 0| return gsl_vector_char_const_subvector_with_stride(v, 0, 1, v->size); 168| 0|} 169| | 170| | 171| |/// Real part (identity-view) of real vector. 172| |/// @param v Pointer to vector. 173| |/// @return Identity-view of real vector. 174| 2|inline auto w_real(w_vector *v) { 175| 2| return gsl_vector_uchar_subvector_with_stride(v, 0, 1, v->size); 176| 2|} 177| | 178| | 179| |/// Real part (identity-view) of real vector. 180| |/// @param v Pointer to vector. 181| |/// @return Identity-view of real vector. 182| 0|inline auto w_real(w_vector *v) { 183| 0| return gsl_vector_uchar_const_subvector_with_stride(v, 0, 1, v->size); 184| 0|} 185| | 186| | 187| |/// Real-part of complex vector. 188| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real 189| |/// @param u Pointer to vector. 190| |/// @return View of real-part of complex vector. 191| 2|inline auto w_real(w_vector> *u) { 192| 2| return gsl_vector_complex_real(u); 193| 2|} 194| | 195| | 196| |/// Real-part of complex vector. 197| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real 198| |/// @param u Pointer to vector. 199| |/// @return View of real-part of complex vector. 200| 2|inline auto w_real(w_vector> *u) { 201| 2| return gsl_vector_complex_float_real(u); 202| 2|} 203| | 204| | 205| |/// Real-part of complex vector. 206| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real 207| |/// @param u Pointer to vector. 208| |/// @return View of real-part of complex vector. 209| 2|inline auto w_real(w_vector> *u) { 210| 2| return gsl_vector_complex_long_double_real(u); 211| 2|} 212| | 213| | 214| |/// Real-part of complex vector. 215| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real 216| |/// @param u Pointer to vector. 217| |/// @return View of real-part of complex vector. 218| 0|inline auto w_real(w_vector> const *u) { 219| 0| return gsl_vector_complex_const_real(u); 220| 0|} 221| | 222| | 223| |/// Real-part of complex vector. 224| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real 225| |/// @param u Pointer to vector. 226| |/// @return View of real-part of complex vector. 227| 0|inline auto w_real(w_vector> const *u) { 228| 0| return gsl_vector_complex_float_const_real(u); 229| 0|} 230| | 231| | 232| |/// Real-part of complex vector. 233| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_complex_real 234| |/// @param u Pointer to vector. 235| |/// @return View of real-part of complex vector. 236| 0|inline auto w_real(w_vector> const *u) { 237| 0| return gsl_vector_complex_long_double_const_real(u); 238| 0|} 239| | 240| | 241| |} // namespace gsl 242| | 243| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/reverse.hpp: 1| |/// \file include/gslcpp/wrap/reverse.hpp 2| |/// \copyright 2022 Thomas E. Vaughan 3| |/// \brief Definition of gsl::w_reverse(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Reverse order of elements in vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 13| |/// @param v Pointer to vector. 14| |/// @return TBD: GSL's documentation does not specify. 15| 2|inline int w_reverse(w_vector *v) { return gsl_vector_reverse(v); } 16| | 17| | 18| |/// Reverse order of elements in vector `v`. 19| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 20| |/// @param v Pointer to vector. 21| |/// @return TBD: GSL's documentation does not specify. 22| 2|inline int w_reverse(w_vector *v) { 23| 2| return gsl_vector_float_reverse(v); 24| 2|} 25| | 26| | 27| |/// Reverse order of elements in vector `v`. 28| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 29| |/// @param v Pointer to vector. 30| |/// @return TBD: GSL's documentation does not specify. 31| 2|inline int w_reverse(w_vector *v) { 32| 2| return gsl_vector_long_double_reverse(v); 33| 2|} 34| | 35| | 36| |/// Reverse order of elements in vector `v`. 37| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 38| |/// @param v Pointer to vector. 39| |/// @return TBD: GSL's documentation does not specify. 40| 2|inline int w_reverse(w_vector *v) { return gsl_vector_int_reverse(v); } 41| | 42| | 43| |/// Reverse order of elements in vector `v`. 44| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 45| |/// @param v Pointer to vector. 46| |/// @return TBD: GSL's documentation does not specify. 47| 2|inline int w_reverse(w_vector *v) { 48| 2| return gsl_vector_uint_reverse(v); 49| 2|} 50| | 51| | 52| |/// Reverse order of elements in vector `v`. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 54| |/// @param v Pointer to vector. 55| |/// @return TBD: GSL's documentation does not specify. 56| 2|inline int w_reverse(w_vector *v) { return gsl_vector_long_reverse(v); } 57| | 58| | 59| |/// Reverse order of elements in vector `v`. 60| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 61| |/// @param v Pointer to vector. 62| |/// @return TBD: GSL's documentation does not specify. 63| 2|inline int w_reverse(w_vector *v) { 64| 2| return gsl_vector_ulong_reverse(v); 65| 2|} 66| | 67| | 68| |/// Reverse order of elements in vector `v`. 69| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 70| |/// @param v Pointer to vector. 71| |/// @return TBD: GSL's documentation does not specify. 72| 2|inline int w_reverse(w_vector *v) { 73| 2| return gsl_vector_short_reverse(v); 74| 2|} 75| | 76| | 77| |/// Reverse order of elements in vector `v`. 78| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 79| |/// @param v Pointer to vector. 80| |/// @return TBD: GSL's documentation does not specify. 81| 2|inline int w_reverse(w_vector *v) { 82| 2| return gsl_vector_ushort_reverse(v); 83| 2|} 84| | 85| | 86| |/// Reverse order of elements in vector `v`. 87| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 88| |/// @param v Pointer to vector. 89| |/// @return TBD: GSL's documentation does not specify. 90| 2|inline int w_reverse(w_vector *v) { return gsl_vector_char_reverse(v); } 91| | 92| | 93| |/// Reverse order of elements in vector `v`. 94| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 95| |/// @param v Pointer to vector. 96| |/// @return TBD: GSL's documentation does not specify. 97| 2|inline int w_reverse(w_vector *v) { 98| 2| return gsl_vector_uchar_reverse(v); 99| 2|} 100| | 101| | 102| |/// Reverse order of elements in vector `v`. 103| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 104| |/// @param v Pointer to vector. 105| |/// @return TBD: GSL's documentation does not specify. 106| 1|inline int w_reverse(w_vector> *v) { 107| 1| return gsl_vector_complex_reverse(v); 108| 1|} 109| | 110| | 111| |/// Reverse order of elements in vector `v`. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 113| |/// @param v Pointer to vector. 114| |/// @return TBD: GSL's documentation does not specify. 115| 1|inline int w_reverse(w_vector> *v) { 116| 1| return gsl_vector_complex_float_reverse(v); 117| 1|} 118| | 119| | 120| |/// Reverse order of elements in vector `v`. 121| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_reverse 122| |/// @param v Pointer to vector. 123| |/// @return TBD: GSL's documentation does not specify. 124| 1|inline int w_reverse(w_vector> *v) { 125| 1| return gsl_vector_complex_long_double_reverse(v); 126| 1|} 127| | 128| | 129| |} // namespace gsl 130| | 131| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/scale.hpp: 1| |/// \file include/gslcpp/wrap/scale.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_scale(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 13| |/// @param u Pointer to vector. 14| |/// @param v Scalar. 15| |/// @return TBD: GSL's documentation does not specify. 16| 2|inline int w_scale(w_vector *u, double const &v) { 17| 2| return gsl_vector_scale(u, v); 18| 2|} 19| | 20| | 21| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 23| |/// @param u Pointer to vector. 24| |/// @param v Scalar. 25| |/// @return TBD: GSL's documentation does not specify. 26| 2|inline int w_scale(w_vector *u, float const &v) { 27| 2| return gsl_vector_float_scale(u, v); 28| 2|} 29| | 30| | 31| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 33| |/// @param u Pointer to vector. 34| |/// @param v Scalar. 35| |/// @return TBD: GSL's documentation does not specify. 36| 2|inline int w_scale(w_vector *u, long double const &v) { 37| 2| return gsl_vector_long_double_scale(u, v); 38| 2|} 39| | 40| | 41| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 43| |/// @param u Pointer to vector. 44| |/// @param v Scalar. 45| |/// @return TBD: GSL's documentation does not specify. 46| 2|inline int w_scale(w_vector *u, int const &v) { 47| 2| return gsl_vector_int_scale(u, v); 48| 2|} 49| | 50| | 51| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 53| |/// @param u Pointer to vector. 54| |/// @param v Scalar. 55| |/// @return TBD: GSL's documentation does not specify. 56| 2|inline int w_scale(w_vector *u, unsigned const &v) { 57| 2| return gsl_vector_uint_scale(u, v); 58| 2|} 59| | 60| | 61| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 63| |/// @param u Pointer to vector. 64| |/// @param v Scalar. 65| |/// @return TBD: GSL's documentation does not specify. 66| 2|inline int w_scale(w_vector *u, long const &v) { 67| 2| return gsl_vector_long_scale(u, v); 68| 2|} 69| | 70| | 71| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 73| |/// @param u Pointer to vector. 74| |/// @param v Scalar. 75| |/// @return TBD: GSL's documentation does not specify. 76| 2|inline int w_scale(w_vector *u, unsigned long const &v) { 77| 2| return gsl_vector_ulong_scale(u, v); 78| 2|} 79| | 80| | 81| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 82| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 83| |/// @param u Pointer to vector. 84| |/// @param v Scalar. 85| |/// @return TBD: GSL's documentation does not specify. 86| 2|inline int w_scale(w_vector *u, short const &v) { 87| 2| return gsl_vector_short_scale(u, v); 88| 2|} 89| | 90| | 91| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 93| |/// @param u Pointer to vector. 94| |/// @param v Scalar. 95| |/// @return TBD: GSL's documentation does not specify. 96| 2|inline int w_scale(w_vector *u, unsigned short const &v) { 97| 2| return gsl_vector_ushort_scale(u, v); 98| 2|} 99| | 100| | 101| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 103| |/// @param u Pointer to vector. 104| |/// @param v Scalar. 105| |/// @return TBD: GSL's documentation does not specify. 106| 2|inline int w_scale(w_vector *u, char const &v) { 107| 2| return gsl_vector_char_scale(u, v); 108| 2|} 109| | 110| | 111| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 113| |/// @param u Pointer to vector. 114| |/// @param v Scalar. 115| |/// @return TBD: GSL's documentation does not specify. 116| 2|inline int w_scale(w_vector *u, unsigned char const &v) { 117| 2| return gsl_vector_uchar_scale(u, v); 118| 2|} 119| | 120| | 121| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 123| |/// @param u Pointer to vector. 124| |/// @param v Scalar. 125| |/// @return TBD: GSL's documentation does not specify. 126| 2|inline int w_scale(w_vector> *u, complex const &v) { 127| 2| return gsl_vector_complex_scale(u, v); 128| 2|} 129| | 130| | 131| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 132| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 133| |/// @param u Pointer to vector. 134| |/// @param v Scalar. 135| |/// @return TBD: GSL's documentation does not specify. 136| 2|inline int w_scale(w_vector> *u, complex const &v) { 137| 2| return gsl_vector_complex_float_scale(u, v); 138| 2|} 139| | 140| | 141| |/// For vector `u` and scalar `v`, produce effect of `u = u * v`. 142| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_scale 143| |/// @param u Pointer to vector. 144| |/// @param v Scalar. 145| |/// @return TBD: GSL's documentation does not specify. 146| |inline int 147| 2|w_scale(w_vector> *u, complex const &v) { 148| 2| return gsl_vector_complex_long_double_scale(u, v); 149| 2|} 150| | 151| | 152| |} // namespace gsl 153| | 154| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/set-all.hpp: 1| |/// \file include/gslcpp/wrap/set-all.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_set_all(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Set every element of vector `v` to same value `x`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 13| |/// @param v Pointer to vector. 14| |/// @param x Initializer for every element. 15| 9|inline void w_set_all(w_vector *v, double const &x) { 16| 9| return gsl_vector_set_all(v, x); 17| 9|} 18| | 19| | 20| |/// Set every element of vector `v` to same value `x`. 21| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 22| |/// @param v Pointer to vector. 23| |/// @param x Initializer for every element. 24| 9|inline void w_set_all(w_vector *v, float const &x) { 25| 9| return gsl_vector_float_set_all(v, x); 26| 9|} 27| | 28| | 29| |/// Set every element of vector `v` to same value `x`. 30| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 31| |/// @param v Pointer to vector. 32| |/// @param x Initializer for every element. 33| 9|inline void w_set_all(w_vector *v, long double const &x) { 34| 9| return gsl_vector_long_double_set_all(v, x); 35| 9|} 36| | 37| | 38| |/// Set every element of vector `v` to same value `x`. 39| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 40| |/// @param v Pointer to vector. 41| |/// @param x Initializer for every element. 42| 9|inline void w_set_all(w_vector *v, int const &x) { 43| 9| return gsl_vector_int_set_all(v, x); 44| 9|} 45| | 46| | 47| |/// Set every element of vector `v` to same value `x`. 48| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 49| |/// @param v Pointer to vector. 50| |/// @param x Initializer for every element. 51| 9|inline void w_set_all(w_vector *v, unsigned const &x) { 52| 9| return gsl_vector_uint_set_all(v, x); 53| 9|} 54| | 55| | 56| |/// Set every element of vector `v` to same value `x`. 57| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 58| |/// @param v Pointer to vector. 59| |/// @param x Initializer for every element. 60| 9|inline void w_set_all(w_vector *v, long const &x) { 61| 9| return gsl_vector_long_set_all(v, x); 62| 9|} 63| | 64| | 65| |/// Set every element of vector `v` to same value `x`. 66| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 67| |/// @param v Pointer to vector. 68| |/// @param x Initializer for every element. 69| 9|inline void w_set_all(w_vector *v, unsigned long const &x) { 70| 9| return gsl_vector_ulong_set_all(v, x); 71| 9|} 72| | 73| | 74| |/// Set every element of vector `v` to same value `x`. 75| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 76| |/// @param v Pointer to vector. 77| |/// @param x Initializer for every element. 78| 9|inline void w_set_all(w_vector *v, short const &x) { 79| 9| return gsl_vector_short_set_all(v, x); 80| 9|} 81| | 82| | 83| |/// Set every element of vector `v` to same value `x`. 84| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 85| |/// @param v Pointer to vector. 86| |/// @param x Initializer for every element. 87| 9|inline void w_set_all(w_vector *v, unsigned short const &x) { 88| 9| return gsl_vector_ushort_set_all(v, x); 89| 9|} 90| | 91| | 92| |/// Set every element of vector `v` to same value `x`. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 94| |/// @param v Pointer to vector. 95| |/// @param x Initializer for every element. 96| 9|inline void w_set_all(w_vector *v, char const &x) { 97| 9| return gsl_vector_char_set_all(v, x); 98| 9|} 99| | 100| | 101| |/// Set every element of vector `v` to same value `x`. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 103| |/// @param v Pointer to vector. 104| |/// @param x Initializer for every element. 105| 9|inline void w_set_all(w_vector *v, unsigned char const &x) { 106| 9| return gsl_vector_uchar_set_all(v, x); 107| 9|} 108| | 109| | 110| |/// Set every element of vector `v` to same value `x`. 111| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 112| |/// @param v Pointer to vector. 113| |/// @param x Initializer for every element. 114| 9|inline void w_set_all(w_vector> *v, complex const &x) { 115| 9| return gsl_vector_complex_set_all(v, x); 116| 9|} 117| | 118| | 119| |/// Set every element of vector `v` to same value `x`. 120| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 121| |/// @param v Pointer to vector. 122| |/// @param x Initializer for every element. 123| 9|inline void w_set_all(w_vector> *v, complex const &x) { 124| 9| return gsl_vector_complex_float_set_all(v, x); 125| 9|} 126| | 127| | 128| |/// Set every element of vector `v` to same value `x`. 129| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_all 130| |/// @param v Pointer to vector. 131| |/// @param x Initializer for every element. 132| |inline void 133| 9|w_set_all(w_vector> *v, complex const &x) { 134| 9| return gsl_vector_complex_long_double_set_all(v, x); 135| 9|} 136| | 137| | 138| |} // namespace gsl 139| | 140| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/set-basis.hpp: 1| |/// \file include/gslcpp/wrap/set-basis.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_set_basis(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 12| |/// element, which is set to unity. 13| |/// 14| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 15| |/// 16| |/// @param v Pointer to vector. 17| |/// @param i Offset of component that should be set to unity. 18| |/// @return TBD: GSL's documentation does not specify. 19| 3|inline int w_set_basis(w_vector *v, size_t i) { 20| 3| return gsl_vector_set_basis(v, i); 21| 3|} 22| | 23| | 24| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 25| |/// element, which is set to unity. 26| |/// 27| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 28| |/// 29| |/// @param v Pointer to vector. 30| |/// @param i Offset of component that should be set to unity. 31| |/// @return TBD: GSL's documentation does not specify. 32| 3|inline int w_set_basis(w_vector *v, size_t i) { 33| 3| return gsl_vector_float_set_basis(v, i); 34| 3|} 35| | 36| | 37| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 38| |/// element, which is set to unity. 39| |/// 40| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 41| |/// 42| |/// @param v Pointer to vector. 43| |/// @param i Offset of component that should be set to unity. 44| |/// @return TBD: GSL's documentation does not specify. 45| 3|inline int w_set_basis(w_vector *v, size_t i) { 46| 3| return gsl_vector_long_double_set_basis(v, i); 47| 3|} 48| | 49| | 50| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 51| |/// element, which is set to unity. 52| |/// 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 54| |/// 55| |/// @param v Pointer to vector. 56| |/// @param i Offset of component that should be set to unity. 57| |/// @return TBD: GSL's documentation does not specify. 58| 3|inline int w_set_basis(w_vector *v, size_t i) { 59| 3| return gsl_vector_int_set_basis(v, i); 60| 3|} 61| | 62| | 63| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 64| |/// element, which is set to unity. 65| |/// 66| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 67| |/// 68| |/// @param v Pointer to vector. 69| |/// @param i Offset of component that should be set to unity. 70| |/// @return TBD: GSL's documentation does not specify. 71| 3|inline int w_set_basis(w_vector *v, size_t i) { 72| 3| return gsl_vector_uint_set_basis(v, i); 73| 3|} 74| | 75| | 76| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 77| |/// element, which is set to unity. 78| |/// 79| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 80| |/// 81| |/// @param v Pointer to vector. 82| |/// @param i Offset of component that should be set to unity. 83| |/// @return TBD: GSL's documentation does not specify. 84| 3|inline int w_set_basis(w_vector *v, size_t i) { 85| 3| return gsl_vector_long_set_basis(v, i); 86| 3|} 87| | 88| | 89| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 90| |/// element, which is set to unity. 91| |/// 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 93| |/// 94| |/// @param v Pointer to vector. 95| |/// @param i Offset of component that should be set to unity. 96| |/// @return TBD: GSL's documentation does not specify. 97| 3|inline int w_set_basis(w_vector *v, size_t i) { 98| 3| return gsl_vector_ulong_set_basis(v, i); 99| 3|} 100| | 101| | 102| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 103| |/// element, which is set to unity. 104| |/// 105| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 106| |/// 107| |/// @param v Pointer to vector. 108| |/// @param i Offset of component that should be set to unity. 109| |/// @return TBD: GSL's documentation does not specify. 110| 3|inline int w_set_basis(w_vector *v, size_t i) { 111| 3| return gsl_vector_short_set_basis(v, i); 112| 3|} 113| | 114| | 115| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 116| |/// element, which is set to unity. 117| |/// 118| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 119| |/// 120| |/// @param v Pointer to vector. 121| |/// @param i Offset of component that should be set to unity. 122| |/// @return TBD: GSL's documentation does not specify. 123| 3|inline int w_set_basis(w_vector *v, size_t i) { 124| 3| return gsl_vector_ushort_set_basis(v, i); 125| 3|} 126| | 127| | 128| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 129| |/// element, which is set to unity. 130| |/// 131| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 132| |/// 133| |/// @param v Pointer to vector. 134| |/// @param i Offset of component that should be set to unity. 135| |/// @return TBD: GSL's documentation does not specify. 136| 3|inline int w_set_basis(w_vector *v, size_t i) { 137| 3| return gsl_vector_char_set_basis(v, i); 138| 3|} 139| | 140| | 141| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 142| |/// element, which is set to unity. 143| |/// 144| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 145| |/// 146| |/// @param v Pointer to vector. 147| |/// @param i Offset of component that should be set to unity. 148| |/// @return TBD: GSL's documentation does not specify. 149| 3|inline int w_set_basis(w_vector *v, size_t i) { 150| 3| return gsl_vector_uchar_set_basis(v, i); 151| 3|} 152| | 153| | 154| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 155| |/// element, which is set to unity. 156| |/// 157| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 158| |/// 159| |/// @param v Pointer to vector. 160| |/// @param i Offset of component that should be set to unity. 161| |/// @return TBD: GSL's documentation does not specify. 162| 3|inline int w_set_basis(w_vector> *v, size_t i) { 163| 3| return gsl_vector_complex_set_basis(v, i); 164| 3|} 165| | 166| | 167| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 168| |/// element, which is set to unity. 169| |/// 170| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 171| |/// 172| |/// @param v Pointer to vector. 173| |/// @param i Offset of component that should be set to unity. 174| |/// @return TBD: GSL's documentation does not specify. 175| 3|inline int w_set_basis(w_vector> *v, size_t i) { 176| 3| return gsl_vector_complex_float_set_basis(v, i); 177| 3|} 178| | 179| | 180| |/// Make basis-vector by setting every element in `v` to zero except for `i`th 181| |/// element, which is set to unity. 182| |/// 183| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_basis 184| |/// 185| |/// @param v Pointer to vector. 186| |/// @param i Offset of component that should be set to unity. 187| |/// @return TBD: GSL's documentation does not specify. 188| 3|inline int w_set_basis(w_vector> *v, size_t i) { 189| 3| return gsl_vector_complex_long_double_set_basis(v, i); 190| 3|} 191| | 192| | 193| |} // namespace gsl 194| | 195| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/set-zero.hpp: 1| |/// \file include/gslcpp/wrap/set-zero.hpp 2| |/// \copyright 2022 Thomas E. Vaughan 3| |/// \brief Definition of gsl::w_set_zero(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Set every element of vector `v` to zero. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 13| |/// @param v Pointer to vector. 14| 7|inline void w_set_zero(w_vector *v) { gsl_vector_set_zero(v); } 15| | 16| | 17| |/// Set every element of vector `v` to zero. 18| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 19| |/// @param v Pointer to vector. 20| 6|inline void w_set_zero(w_vector *v) { gsl_vector_float_set_zero(v); } 21| | 22| | 23| |/// Set every element of vector `v` to zero. 24| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 25| |/// @param v Pointer to vector. 26| 6|inline void w_set_zero(w_vector *v) { 27| 6| gsl_vector_long_double_set_zero(v); 28| 6|} 29| | 30| | 31| |/// Set every element of vector `v` to zero. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 33| |/// @param v Pointer to vector. 34| 6|inline void w_set_zero(w_vector *v) { gsl_vector_int_set_zero(v); } 35| | 36| | 37| |/// Set every element of vector `v` to zero. 38| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 39| |/// @param v Pointer to vector. 40| 6|inline void w_set_zero(w_vector *v) { gsl_vector_uint_set_zero(v); } 41| | 42| | 43| |/// Set every element of vector `v` to zero. 44| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 45| |/// @param v Pointer to vector. 46| 6|inline void w_set_zero(w_vector *v) { gsl_vector_long_set_zero(v); } 47| | 48| | 49| |/// Set every element of vector `v` to zero. 50| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 51| |/// @param v Pointer to vector. 52| 6|inline void w_set_zero(w_vector *v) { 53| 6| gsl_vector_ulong_set_zero(v); 54| 6|} 55| | 56| | 57| |/// Set every element of vector `v` to zero. 58| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 59| |/// @param v Pointer to vector. 60| 6|inline void w_set_zero(w_vector *v) { gsl_vector_short_set_zero(v); } 61| | 62| | 63| |/// Set every element of vector `v` to zero. 64| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 65| |/// @param v Pointer to vector. 66| 6|inline void w_set_zero(w_vector *v) { 67| 6| gsl_vector_ushort_set_zero(v); 68| 6|} 69| | 70| | 71| |/// Set every element of vector `v` to zero. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 73| |/// @param v Pointer to vector. 74| 6|inline void w_set_zero(w_vector *v) { gsl_vector_char_set_zero(v); } 75| | 76| | 77| |/// Set every element of vector `v` to zero. 78| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 79| |/// @param v Pointer to vector. 80| 6|inline void w_set_zero(w_vector *v) { 81| 6| gsl_vector_uchar_set_zero(v); 82| 6|} 83| | 84| | 85| |/// Set every element of vector `v` to zero. 86| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 87| |/// @param v Pointer to vector. 88| 6|inline void w_set_zero(w_vector> *v) { 89| 6| gsl_vector_complex_set_zero(v); 90| 6|} 91| | 92| | 93| |/// Set every element of vector `v` to zero. 94| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 95| |/// @param v Pointer to vector. 96| 6|inline void w_set_zero(w_vector> *v) { 97| 6| gsl_vector_complex_float_set_zero(v); 98| 6|} 99| | 100| | 101| |/// Set every element of vector `v` to zero. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set_zero 103| |/// @param v Pointer to vector. 104| 6|inline void w_set_zero(w_vector> *v) { 105| 6| gsl_vector_complex_long_double_set_zero(v); 106| 6|} 107| | 108| | 109| |} // namespace gsl 110| | 111| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/set.hpp: 1| |/// \file include/gslcpp/wrap/set.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_set(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Set to `x` the value of `i`th element of vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 13| |/// @param v Pointer to vector. 14| |/// @param i Offset of element whose value should change. 15| |/// @param x New value for element at offset `i`. 16| 1|inline void w_set(w_vector *v, size_t i, double const &x) { 17| 1| return gsl_vector_set(v, i, x); 18| 1|} 19| | 20| | 21| |/// Set to `x` the value of `i`th element of vector `v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 23| |/// @param v Pointer to vector. 24| |/// @param i Offset of element whose value should change. 25| |/// @param x New value for element at offset `i`. 26| 1|inline void w_set(w_vector *v, size_t i, float const &x) { 27| 1| return gsl_vector_float_set(v, i, x); 28| 1|} 29| | 30| | 31| |/// Set to `x` the value of `i`th element of vector `v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 33| |/// @param v Pointer to vector. 34| |/// @param i Offset of element whose value should change. 35| |/// @param x New value for element at offset `i`. 36| 1|inline void w_set(w_vector *v, size_t i, long double const &x) { 37| 1| return gsl_vector_long_double_set(v, i, x); 38| 1|} 39| | 40| | 41| |/// Set to `x` the value of `i`th element of vector `v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 43| |/// @param v Pointer to vector. 44| |/// @param i Offset of element whose value should change. 45| |/// @param x New value for element at offset `i`. 46| 1|inline void w_set(w_vector *v, size_t i, int const &x) { 47| 1| return gsl_vector_int_set(v, i, x); 48| 1|} 49| | 50| | 51| |/// Set to `x` the value of `i`th element of vector `v`. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 53| |/// @param v Pointer to vector. 54| |/// @param i Offset of element whose value should change. 55| |/// @param x New value for element at offset `i`. 56| 1|inline void w_set(w_vector *v, size_t i, unsigned const &x) { 57| 1| return gsl_vector_uint_set(v, i, x); 58| 1|} 59| | 60| | 61| |/// Set to `x` the value of `i`th element of vector `v`. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 63| |/// @param v Pointer to vector. 64| |/// @param i Offset of element whose value should change. 65| |/// @param x New value for element at offset `i`. 66| 1|inline void w_set(w_vector *v, size_t i, long const &x) { 67| 1| return gsl_vector_long_set(v, i, x); 68| 1|} 69| | 70| | 71| |/// Set to `x` the value of `i`th element of vector `v`. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 73| |/// @param v Pointer to vector. 74| |/// @param i Offset of element whose value should change. 75| |/// @param x New value for element at offset `i`. 76| |inline void 77| 1|w_set(w_vector *v, size_t i, unsigned long const &x) { 78| 1| return gsl_vector_ulong_set(v, i, x); 79| 1|} 80| | 81| | 82| |/// Set to `x` the value of `i`th element of vector `v`. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 84| |/// @param v Pointer to vector. 85| |/// @param i Offset of element whose value should change. 86| |/// @param x New value for element at offset `i`. 87| 1|inline void w_set(w_vector *v, size_t i, short const &x) { 88| 1| return gsl_vector_short_set(v, i, x); 89| 1|} 90| | 91| | 92| |/// Set to `x` the value of `i`th element of vector `v`. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 94| |/// @param v Pointer to vector. 95| |/// @param i Offset of element whose value should change. 96| |/// @param x New value for element at offset `i`. 97| |inline void 98| 1|w_set(w_vector *v, size_t i, unsigned short const &x) { 99| 1| return gsl_vector_ushort_set(v, i, x); 100| 1|} 101| | 102| | 103| |/// Set to `x` the value of `i`th element of vector `v`. 104| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 105| |/// @param v Pointer to vector. 106| |/// @param i Offset of element whose value should change. 107| |/// @param x New value for element at offset `i`. 108| 1|inline void w_set(w_vector *v, size_t i, char const &x) { 109| 1| return gsl_vector_char_set(v, i, x); 110| 1|} 111| | 112| | 113| |/// Set to `x` the value of `i`th element of vector `v`. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 115| |/// @param v Pointer to vector. 116| |/// @param i Offset of element whose value should change. 117| |/// @param x New value for element at offset `i`. 118| |inline void 119| 1|w_set(w_vector *v, size_t i, unsigned char const &x) { 120| 1| return gsl_vector_uchar_set(v, i, x); 121| 1|} 122| | 123| | 124| |/// Set to `x` the value of `i`th element of vector `v`. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 126| |/// @param v Pointer to vector. 127| |/// @param i Offset of element whose value should change. 128| |/// @param x New value for element at offset `i`. 129| |inline void 130| 1|w_set(w_vector> *v, size_t i, complex const &x) { 131| 1| return gsl_vector_complex_set(v, i, x); 132| 1|} 133| | 134| | 135| |/// Set to `x` the value of `i`th element of vector `v`. 136| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 137| |/// @param v Pointer to vector. 138| |/// @param i Offset of element whose value should change. 139| |/// @param x New value for element at offset `i`. 140| |inline void 141| 1|w_set(w_vector> *v, size_t i, complex const &x) { 142| 1| return gsl_vector_complex_float_set(v, i, x); 143| 1|} 144| | 145| | 146| |/// Set to `x` the value of `i`th element of vector `v`. 147| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_set 148| |/// @param v Pointer to vector. 149| |/// @param i Offset of element whose value should change. 150| |/// @param x New value for element at offset `i`. 151| |inline void 152| |w_set(w_vector> *v, 153| | size_t i, 154| 1| complex const &x) { 155| 1| return gsl_vector_complex_long_double_set(v, i, x); 156| 1|} 157| | 158| | 159| |} // namespace gsl 160| | 161| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/sub.hpp: 1| |/// \file include/gslcpp/wrap/sub.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_sub(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 13| |/// @param u Pointer to vector from which `u` will be subtracted. 14| |/// @param v Pointer to vector to subtract from `u`. 15| |/// @return TBD: GSL's documentation does not specify. 16| 2|inline int w_sub(w_vector *u, w_vector *v) { 17| 2| return gsl_vector_sub(u, v); 18| 2|} 19| | 20| | 21| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 23| |/// @param u Pointer to vector from which `u` will be subtracted. 24| |/// @param v Pointer to vector to subtract from `u`. 25| |/// @return TBD: GSL's documentation does not specify. 26| 2|inline int w_sub(w_vector *u, w_vector *v) { 27| 2| return gsl_vector_float_sub(u, v); 28| 2|} 29| | 30| | 31| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 33| |/// @param u Pointer to vector from which `u` will be subtracted. 34| |/// @param v Pointer to vector to subtract from `u`. 35| |/// @return TBD: GSL's documentation does not specify. 36| 2|inline int w_sub(w_vector *u, w_vector *v) { 37| 2| return gsl_vector_long_double_sub(u, v); 38| 2|} 39| | 40| | 41| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 43| |/// @param u Pointer to vector from which `u` will be subtracted. 44| |/// @param v Pointer to vector to subtract from `u`. 45| |/// @return TBD: GSL's documentation does not specify. 46| 2|inline int w_sub(w_vector *u, w_vector *v) { 47| 2| return gsl_vector_int_sub(u, v); 48| 2|} 49| | 50| | 51| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 53| |/// @param u Pointer to vector from which `u` will be subtracted. 54| |/// @param v Pointer to vector to subtract from `u`. 55| |/// @return TBD: GSL's documentation does not specify. 56| 2|inline int w_sub(w_vector *u, w_vector *v) { 57| 2| return gsl_vector_uint_sub(u, v); 58| 2|} 59| | 60| | 61| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 63| |/// @param u Pointer to vector from which `u` will be subtracted. 64| |/// @param v Pointer to vector to subtract from `u`. 65| |/// @return TBD: GSL's documentation does not specify. 66| 2|inline int w_sub(w_vector *u, w_vector *v) { 67| 2| return gsl_vector_long_sub(u, v); 68| 2|} 69| | 70| | 71| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 73| |/// @param u Pointer to vector from which `u` will be subtracted. 74| |/// @param v Pointer to vector to subtract from `u`. 75| |/// @return TBD: GSL's documentation does not specify. 76| |inline int 77| 2|w_sub(w_vector *u, w_vector *v) { 78| 2| return gsl_vector_ulong_sub(u, v); 79| 2|} 80| | 81| | 82| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 83| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 84| |/// @param u Pointer to vector from which `u` will be subtracted. 85| |/// @param v Pointer to vector to subtract from `u`. 86| |/// @return TBD: GSL's documentation does not specify. 87| 2|inline int w_sub(w_vector *u, w_vector *v) { 88| 2| return gsl_vector_short_sub(u, v); 89| 2|} 90| | 91| | 92| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 93| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 94| |/// @param u Pointer to vector from which `u` will be subtracted. 95| |/// @param v Pointer to vector to subtract from `u`. 96| |/// @return TBD: GSL's documentation does not specify. 97| |inline int 98| 2|w_sub(w_vector *u, w_vector *v) { 99| 2| return gsl_vector_ushort_sub(u, v); 100| 2|} 101| | 102| | 103| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 104| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 105| |/// @param u Pointer to vector from which `u` will be subtracted. 106| |/// @param v Pointer to vector to subtract from `u`. 107| |/// @return TBD: GSL's documentation does not specify. 108| 2|inline int w_sub(w_vector *u, w_vector *v) { 109| 2| return gsl_vector_char_sub(u, v); 110| 2|} 111| | 112| | 113| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 114| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 115| |/// @param u Pointer to vector from which `u` will be subtracted. 116| |/// @param v Pointer to vector to subtract from `u`. 117| |/// @return TBD: GSL's documentation does not specify. 118| |inline int 119| 2|w_sub(w_vector *u, w_vector *v) { 120| 2| return gsl_vector_uchar_sub(u, v); 121| 2|} 122| | 123| | 124| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 125| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 126| |/// @param u Pointer to vector from which `u` will be subtracted. 127| |/// @param v Pointer to vector to subtract from `u`. 128| |/// @return TBD: GSL's documentation does not specify. 129| |inline int 130| 2|w_sub(w_vector> *u, w_vector const> *v) { 131| 2| return gsl_vector_complex_sub(u, v); 132| 2|} 133| | 134| | 135| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 136| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 137| |/// @param u Pointer to vector from which `u` will be subtracted. 138| |/// @param v Pointer to vector to subtract from `u`. 139| |/// @return TBD: GSL's documentation does not specify. 140| |inline int 141| 2|w_sub(w_vector> *u, w_vector const> *v) { 142| 2| return gsl_vector_complex_float_sub(u, v); 143| 2|} 144| | 145| | 146| |/// For vectors `u` and `v`, obtain effect `u = u - v`. 147| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sub 148| |/// @param u Pointer to vector from which `u` will be subtracted. 149| |/// @param v Pointer to vector to subtract from `u`. 150| |/// @return TBD: GSL's documentation does not specify. 151| |inline int 152| |w_sub(w_vector> *u, 153| 2| w_vector const> *v) { 154| 2| return gsl_vector_complex_long_double_sub(u, v); 155| 2|} 156| | 157| | 158| |} // namespace gsl 159| | 160| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/subvector.hpp: 1| |/// \file include/gslcpp/wrap/subvector.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_subvector(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// View of subvector of vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 13| |/// @param v Pointer to vector. 14| |/// @param i Offset in `v` of view's first element. 15| |/// @param s Stride of successive elements in view relative to offsets in `v`. 16| |/// @param n Number of elements in view. 17| |/// @return View of subvector. 18| 7|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 19| 7| return gsl_vector_subvector_with_stride(v, i, s, n); 20| 7|} 21| | 22| | 23| |/// View of subvector of vector `v`. 24| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 25| |/// @param v Pointer to vector. 26| |/// @param i Offset in `v` of view's first element. 27| |/// @param s Stride of successive elements in view relative to offsets in `v`. 28| |/// @param n Number of elements in view. 29| |/// @return View of subvector. 30| |inline auto 31| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 32| 5| return gsl_vector_const_subvector_with_stride(v, i, s, n); 33| 5|} 34| | 35| | 36| |/// View of subvector of vector `v`. 37| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 38| |/// @param v Pointer to vector. 39| |/// @param i Offset in `v` of view's first element. 40| |/// @param s Stride of successive elements in view relative to offsets in `v`. 41| |/// @param n Number of elements in view. 42| |/// @return View of subvector. 43| 4|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 44| 4| return gsl_vector_float_subvector_with_stride(v, i, s, n); 45| 4|} 46| | 47| | 48| |/// View of subvector of vector `v`. 49| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 50| |/// @param v Pointer to vector. 51| |/// @param i Offset in `v` of view's first element. 52| |/// @param s Stride of successive elements in view relative to offsets in `v`. 53| |/// @param n Number of elements in view. 54| |/// @return View of subvector. 55| |inline auto 56| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 57| 5| return gsl_vector_float_const_subvector_with_stride(v, i, s, n); 58| 5|} 59| | 60| | 61| |/// View of subvector of vector `v`. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 63| |/// @param v Pointer to vector. 64| |/// @param i Offset in `v` of view's first element. 65| |/// @param s Stride of successive elements in view relative to offsets in `v`. 66| |/// @param n Number of elements in view. 67| |/// @return View of subvector. 68| |inline auto 69| 4|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 70| 4| return gsl_vector_long_double_subvector_with_stride(v, i, s, n); 71| 4|} 72| | 73| | 74| |/// View of subvector of vector `v`. 75| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 76| |/// @param v Pointer to vector. 77| |/// @param i Offset in `v` of view's first element. 78| |/// @param s Stride of successive elements in view relative to offsets in `v`. 79| |/// @param n Number of elements in view. 80| |/// @return View of subvector. 81| |inline auto 82| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 83| 5| return gsl_vector_long_double_const_subvector_with_stride(v, i, s, n); 84| 5|} 85| | 86| | 87| |/// View of subvector of vector `v`. 88| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 89| |/// @param v Pointer to vector. 90| |/// @param i Offset in `v` of view's first element. 91| |/// @param s Stride of successive elements in view relative to offsets in `v`. 92| |/// @param n Number of elements in view. 93| |/// @return View of subvector. 94| 4|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 95| 4| return gsl_vector_int_subvector_with_stride(v, i, s, n); 96| 4|} 97| | 98| | 99| |/// View of subvector of vector `v`. 100| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 101| |/// @param v Pointer to vector. 102| |/// @param i Offset in `v` of view's first element. 103| |/// @param s Stride of successive elements in view relative to offsets in `v`. 104| |/// @param n Number of elements in view. 105| |/// @return View of subvector. 106| 5|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 107| 5| return gsl_vector_int_const_subvector_with_stride(v, i, s, n); 108| 5|} 109| | 110| | 111| |/// View of subvector of vector `v`. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 113| |/// @param v Pointer to vector. 114| |/// @param i Offset in `v` of view's first element. 115| |/// @param s Stride of successive elements in view relative to offsets in `v`. 116| |/// @param n Number of elements in view. 117| |/// @return View of subvector. 118| 4|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 119| 4| return gsl_vector_uint_subvector_with_stride(v, i, s, n); 120| 4|} 121| | 122| | 123| |/// View of subvector of vector `v`. 124| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 125| |/// @param v Pointer to vector. 126| |/// @param i Offset in `v` of view's first element. 127| |/// @param s Stride of successive elements in view relative to offsets in `v`. 128| |/// @param n Number of elements in view. 129| |/// @return View of subvector. 130| |inline auto 131| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 132| 5| return gsl_vector_uint_const_subvector_with_stride(v, i, s, n); 133| 5|} 134| | 135| | 136| |/// View of subvector of vector `v`. 137| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 138| |/// @param v Pointer to vector. 139| |/// @param i Offset in `v` of view's first element. 140| |/// @param s Stride of successive elements in view relative to offsets in `v`. 141| |/// @param n Number of elements in view. 142| |/// @return View of subvector. 143| 4|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 144| 4| return gsl_vector_long_subvector_with_stride(v, i, s, n); 145| 4|} 146| | 147| | 148| |/// View of subvector of vector `v`. 149| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 150| |/// @param v Pointer to vector. 151| |/// @param i Offset in `v` of view's first element. 152| |/// @param s Stride of successive elements in view relative to offsets in `v`. 153| |/// @param n Number of elements in view. 154| |/// @return View of subvector. 155| |inline auto 156| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 157| 5| return gsl_vector_long_const_subvector_with_stride(v, i, s, n); 158| 5|} 159| | 160| | 161| |/// View of subvector of vector `v`. 162| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 163| |/// @param v Pointer to vector. 164| |/// @param i Offset in `v` of view's first element. 165| |/// @param s Stride of successive elements in view relative to offsets in `v`. 166| |/// @param n Number of elements in view. 167| |/// @return View of subvector. 168| |inline auto 169| 4|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 170| 4| return gsl_vector_ulong_subvector_with_stride(v, i, s, n); 171| 4|} 172| | 173| | 174| |/// View of subvector of vector `v`. 175| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 176| |/// @param v Pointer to vector. 177| |/// @param i Offset in `v` of view's first element. 178| |/// @param s Stride of successive elements in view relative to offsets in `v`. 179| |/// @param n Number of elements in view. 180| |/// @return View of subvector. 181| |inline auto 182| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 183| 5| return gsl_vector_ulong_const_subvector_with_stride(v, i, s, n); 184| 5|} 185| | 186| | 187| |/// View of subvector of vector `v`. 188| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 189| |/// @param v Pointer to vector. 190| |/// @param i Offset in `v` of view's first element. 191| |/// @param s Stride of successive elements in view relative to offsets in `v`. 192| |/// @param n Number of elements in view. 193| |/// @return View of subvector. 194| 4|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 195| 4| return gsl_vector_short_subvector_with_stride(v, i, s, n); 196| 4|} 197| | 198| | 199| |/// View of subvector of vector `v`. 200| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 201| |/// @param v Pointer to vector. 202| |/// @param i Offset in `v` of view's first element. 203| |/// @param s Stride of successive elements in view relative to offsets in `v`. 204| |/// @param n Number of elements in view. 205| |/// @return View of subvector. 206| |inline auto 207| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 208| 5| return gsl_vector_short_const_subvector_with_stride(v, i, s, n); 209| 5|} 210| | 211| | 212| |/// View of subvector of vector `v`. 213| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 214| |/// @param v Pointer to vector. 215| |/// @param i Offset in `v` of view's first element. 216| |/// @param s Stride of successive elements in view relative to offsets in `v`. 217| |/// @param n Number of elements in view. 218| |/// @return View of subvector. 219| |inline auto 220| 4|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 221| 4| return gsl_vector_ushort_subvector_with_stride(v, i, s, n); 222| 4|} 223| | 224| | 225| |/// View of subvector of vector `v`. 226| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 227| |/// @param v Pointer to vector. 228| |/// @param i Offset in `v` of view's first element. 229| |/// @param s Stride of successive elements in view relative to offsets in `v`. 230| |/// @param n Number of elements in view. 231| |/// @return View of subvector. 232| |inline auto 233| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 234| 5| return gsl_vector_ushort_const_subvector_with_stride(v, i, s, n); 235| 5|} 236| | 237| | 238| |/// View of subvector of vector `v`. 239| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 240| |/// @param v Pointer to vector. 241| |/// @param i Offset in `v` of view's first element. 242| |/// @param s Stride of successive elements in view relative to offsets in `v`. 243| |/// @param n Number of elements in view. 244| |/// @return View of subvector. 245| 4|inline auto w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 246| 4| return gsl_vector_char_subvector_with_stride(v, i, s, n); 247| 4|} 248| | 249| | 250| |/// View of subvector of vector `v`. 251| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 252| |/// @param v Pointer to vector. 253| |/// @param i Offset in `v` of view's first element. 254| |/// @param s Stride of successive elements in view relative to offsets in `v`. 255| |/// @param n Number of elements in view. 256| |/// @return View of subvector. 257| |inline auto 258| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 259| 5| return gsl_vector_char_const_subvector_with_stride(v, i, s, n); 260| 5|} 261| | 262| | 263| |/// View of subvector of vector `v`. 264| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 265| |/// @param v Pointer to vector. 266| |/// @param i Offset in `v` of view's first element. 267| |/// @param s Stride of successive elements in view relative to offsets in `v`. 268| |/// @param n Number of elements in view. 269| |/// @return View of subvector. 270| |inline auto 271| 4|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 272| 4| return gsl_vector_uchar_subvector_with_stride(v, i, s, n); 273| 4|} 274| | 275| | 276| |/// View of subvector of vector `v`. 277| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 278| |/// @param v Pointer to vector. 279| |/// @param i Offset in `v` of view's first element. 280| |/// @param s Stride of successive elements in view relative to offsets in `v`. 281| |/// @param n Number of elements in view. 282| |/// @return View of subvector. 283| |inline auto 284| 5|w_subvector(w_vector *v, size_t i, size_t s, size_t n) { 285| 5| return gsl_vector_uchar_const_subvector_with_stride(v, i, s, n); 286| 5|} 287| | 288| | 289| |/// View of subvector of vector `v`. 290| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 291| |/// @param v Pointer to vector. 292| |/// @param i Offset in `v` of view's first element. 293| |/// @param s Stride of successive elements in view relative to offsets in `v`. 294| |/// @param n Number of elements in view. 295| |/// @return View of subvector. 296| |inline auto 297| 4|w_subvector(w_vector> *v, size_t i, size_t s, size_t n) { 298| 4| return gsl_vector_complex_subvector_with_stride(v, i, s, n); 299| 4|} 300| | 301| | 302| |/// View of subvector of vector `v`. 303| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 304| |/// @param v Pointer to vector. 305| |/// @param i Offset in `v` of view's first element. 306| |/// @param s Stride of successive elements in view relative to offsets in `v`. 307| |/// @param n Number of elements in view. 308| |/// @return View of subvector. 309| |inline auto 310| 5|w_subvector(w_vector const> *v, size_t i, size_t s, size_t n) { 311| 5| return gsl_vector_complex_const_subvector_with_stride(v, i, s, n); 312| 5|} 313| | 314| | 315| |/// View of subvector of vector `v`. 316| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 317| |/// @param v Pointer to vector. 318| |/// @param i Offset in `v` of view's first element. 319| |/// @param s Stride of successive elements in view relative to offsets in `v`. 320| |/// @param n Number of elements in view. 321| |/// @return View of subvector. 322| |inline auto 323| 4|w_subvector(w_vector> *v, size_t i, size_t s, size_t n) { 324| 4| return gsl_vector_complex_float_subvector_with_stride(v, i, s, n); 325| 4|} 326| | 327| | 328| |/// View of subvector of vector `v`. 329| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 330| |/// @param v Pointer to vector. 331| |/// @param i Offset in `v` of view's first element. 332| |/// @param s Stride of successive elements in view relative to offsets in `v`. 333| |/// @param n Number of elements in view. 334| |/// @return View of subvector. 335| |inline auto 336| 5|w_subvector(w_vector const> *v, size_t i, size_t s, size_t n) { 337| 5| return gsl_vector_complex_float_const_subvector_with_stride(v, i, s, n); 338| 5|} 339| | 340| | 341| |/// View of subvector of vector `v`. 342| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 343| |/// @param v Pointer to vector. 344| |/// @param i Offset in `v` of view's first element. 345| |/// @param s Stride of successive elements in view relative to offsets in `v`. 346| |/// @param n Number of elements in view. 347| |/// @return View of subvector. 348| |inline auto 349| 4|w_subvector(w_vector> *v, size_t i, size_t s, size_t n) { 350| 4| return gsl_vector_complex_long_double_subvector_with_stride(v, i, s, n); 351| 4|} 352| | 353| | 354| |/// View of subvector of vector `v`. 355| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_subvector_with_stride 356| |/// @param v Pointer to vector. 357| |/// @param i Offset in `v` of view's first element. 358| |/// @param s Stride of successive elements in view relative to offsets in `v`. 359| |/// @param n Number of elements in view. 360| |/// @return View of subvector. 361| |inline auto w_subvector( 362| 5| w_vector const> *v, size_t i, size_t s, size_t n) { 363| 5| return gsl_vector_complex_long_double_const_subvector_with_stride( 364| 5| v, i, s, n); 365| 5|} 366| | 367| | 368| |} // namespace gsl 369| | 370| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/sum.hpp: 1| |/// \file include/gslcpp/wrap/sum.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_sum(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| |#include "element.hpp" // element_t 8| |#include // Dynamic, Map, Matrix, Stride 9| | 10| |namespace gsl { 11| | 12| | 13| |/// Sum of elements in vector `v`. 14| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 15| |/// @param v Pointer to vector. 16| |/// @return Sum of elements in `v`. 17| 0|inline auto w_sum(w_vector *v) { return gsl_vector_sum(v); } 18| | 19| | 20| |/// Sum of elements in vector `v`. 21| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 22| |/// @param v Pointer to vector. 23| |/// @return Sum of elements in `v`. 24| 0|inline auto w_sum(w_vector *v) { return gsl_vector_float_sum(v); } 25| | 26| | 27| |/// Sum of elements in vector `v`. 28| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 29| |/// @param v Pointer to vector. 30| |/// @return Sum of elements in `v`. 31| 0|inline auto w_sum(w_vector *v) { 32| 0| return gsl_vector_long_double_sum(v); 33| 0|} 34| | 35| | 36| |/// Sum of elements in vector `v`. 37| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 38| |/// @param v Pointer to vector. 39| |/// @return Sum of elements in `v`. 40| 0|inline auto w_sum(w_vector *v) { return gsl_vector_int_sum(v); } 41| | 42| | 43| |/// Sum of elements in vector `v`. 44| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 45| |/// @param v Pointer to vector. 46| |/// @return Sum of elements in `v`. 47| 0|inline auto w_sum(w_vector *v) { 48| 0| return gsl_vector_uint_sum(v); 49| 0|} 50| | 51| | 52| |/// Sum of elements in vector `v`. 53| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 54| |/// @param v Pointer to vector. 55| |/// @return Sum of elements in `v`. 56| 0|inline auto w_sum(w_vector *v) { return gsl_vector_long_sum(v); } 57| | 58| | 59| |/// Sum of elements in vector `v`. 60| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 61| |/// @param v Pointer to vector. 62| |/// @return Sum of elements in `v`. 63| 0|inline auto w_sum(w_vector *v) { 64| 0| return gsl_vector_ulong_sum(v); 65| 0|} 66| | 67| | 68| |/// Sum of elements in vector `v`. 69| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 70| |/// @param v Pointer to vector. 71| |/// @return Sum of elements in `v`. 72| 0|inline auto w_sum(w_vector *v) { return gsl_vector_short_sum(v); } 73| | 74| | 75| |/// Sum of elements in vector `v`. 76| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 77| |/// @param v Pointer to vector. 78| |/// @return Sum of elements in `v`. 79| 0|inline auto w_sum(w_vector *v) { 80| 0| return gsl_vector_ushort_sum(v); 81| 0|} 82| | 83| | 84| |/// Sum of elements in vector `v`. 85| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 86| |/// @param v Pointer to vector. 87| |/// @return Sum of elements in `v`. 88| 0|inline auto w_sum(w_vector *v) { return gsl_vector_char_sum(v); } 89| | 90| | 91| |/// Sum of elements in vector `v`. 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 93| |/// @param v Pointer to vector. 94| |/// @return Sum of elements in `v`. 95| 0|inline auto w_sum(w_vector *v) { 96| 0| return gsl_vector_uchar_sum(v); 97| 0|} 98| | 99| | 100| |/// Sum of elements in complex vector, not covered by GSL's sum. 101| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 102| |/// This implementation uses Eigen to compute the sum. 103| |/// @tparam C Complex type of vector's element. 104| |/// @param v Reference to vector. 105| |/// @return Sum of elements. 106| 6|template C complex_sum(w_vector *v) { 107| 6| using Eigen::Dynamic; 108| 6| using Eigen::Map; 109| 6| using Eigen::Matrix; 110| 6| using Eigen::Stride; 111| 6| using S= Stride; 112| 6| using map= Map const, 0, S>; 113| 6| S const s(v->size * v->stride, v->stride); 114| 6| return map((C const *)v->data, v->size, s).sum(); 115| 6|} ------------------ | gsl::complex gsl::complex_sum >(gsl::container const>::vector*): | 106| 2|template C complex_sum(w_vector *v) { | 107| 2| using Eigen::Dynamic; | 108| 2| using Eigen::Map; | 109| 2| using Eigen::Matrix; | 110| 2| using Eigen::Stride; | 111| 2| using S= Stride; | 112| 2| using map= Map const, 0, S>; | 113| 2| S const s(v->size * v->stride, v->stride); | 114| 2| return map((C const *)v->data, v->size, s).sum(); | 115| 2|} ------------------ | gsl::complex gsl::complex_sum >(gsl::container const>::vector*): | 106| 2|template C complex_sum(w_vector *v) { | 107| 2| using Eigen::Dynamic; | 108| 2| using Eigen::Map; | 109| 2| using Eigen::Matrix; | 110| 2| using Eigen::Stride; | 111| 2| using S= Stride; | 112| 2| using map= Map const, 0, S>; | 113| 2| S const s(v->size * v->stride, v->stride); | 114| 2| return map((C const *)v->data, v->size, s).sum(); | 115| 2|} ------------------ | gsl::complex gsl::complex_sum >(gsl::container const>::vector*): | 106| 2|template C complex_sum(w_vector *v) { | 107| 2| using Eigen::Dynamic; | 108| 2| using Eigen::Map; | 109| 2| using Eigen::Matrix; | 110| 2| using Eigen::Stride; | 111| 2| using S= Stride; | 112| 2| using map= Map const, 0, S>; | 113| 2| S const s(v->size * v->stride, v->stride); | 114| 2| return map((C const *)v->data, v->size, s).sum(); | 115| 2|} ------------------ 116| | 117| | 118| |/// Sum of elements in vector `v`. 119| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 120| |/// @param v Pointer to vector. 121| |/// @return Sum of elements in `v`. 122| 2|inline auto w_sum(w_vector const> *v) { 123| 2| return complex_sum>(v); 124| 2|} 125| | 126| | 127| |/// Sum of elements in vector `v`. 128| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 129| |/// @param v Pointer to vector. 130| |/// @return Sum of elements in `v`. 131| 2|inline auto w_sum(w_vector const> *v) { 132| 2| return complex_sum>(v); 133| 2|} 134| | 135| | 136| |/// Sum of elements in vector `v`. 137| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_sum 138| |/// @param v Pointer to vector. 139| |/// @return Sum of elements in `v`. 140| 2|inline auto w_sum(w_vector const> *v) { 141| 2| return complex_sum>(v); 142| 2|} 143| | 144| | 145| |} // namespace gsl 146| | 147| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/swap-elements.hpp: 1| |/// \file include/gslcpp/wrap/swap-elements.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_swap_elements(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Exchange `i`th and `j`th elements in vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 13| |/// @param v Pointer to vector. 14| |/// @param i Offset of one element to exchange. 15| |/// @param j Offset of other element to exchange. 16| |/// @return TBD: GSL's documentation does not specify. 17| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 18| 1| return gsl_vector_swap_elements(v, i, j); 19| 1|} 20| | 21| | 22| |/// Exchange `i`th and `j`th elements in vector `v`. 23| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 24| |/// @param v Pointer to vector. 25| |/// @param i Offset of one element to exchange. 26| |/// @param j Offset of other element to exchange. 27| |/// @return TBD: GSL's documentation does not specify. 28| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 29| 1| return gsl_vector_float_swap_elements(v, i, j); 30| 1|} 31| | 32| | 33| |/// Exchange `i`th and `j`th elements in vector `v`. 34| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 35| |/// @param v Pointer to vector. 36| |/// @param i Offset of one element to exchange. 37| |/// @param j Offset of other element to exchange. 38| |/// @return TBD: GSL's documentation does not specify. 39| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 40| 1| return gsl_vector_long_double_swap_elements(v, i, j); 41| 1|} 42| | 43| | 44| |/// Exchange `i`th and `j`th elements in vector `v`. 45| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 46| |/// @param v Pointer to vector. 47| |/// @param i Offset of one element to exchange. 48| |/// @param j Offset of other element to exchange. 49| |/// @return TBD: GSL's documentation does not specify. 50| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 51| 1| return gsl_vector_int_swap_elements(v, i, j); 52| 1|} 53| | 54| | 55| |/// Exchange `i`th and `j`th elements in vector `v`. 56| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 57| |/// @param v Pointer to vector. 58| |/// @param i Offset of one element to exchange. 59| |/// @param j Offset of other element to exchange. 60| |/// @return TBD: GSL's documentation does not specify. 61| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 62| 1| return gsl_vector_uint_swap_elements(v, i, j); 63| 1|} 64| | 65| | 66| |/// Exchange `i`th and `j`th elements in vector `v`. 67| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 68| |/// @param v Pointer to vector. 69| |/// @param i Offset of one element to exchange. 70| |/// @param j Offset of other element to exchange. 71| |/// @return TBD: GSL's documentation does not specify. 72| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 73| 1| return gsl_vector_long_swap_elements(v, i, j); 74| 1|} 75| | 76| | 77| |/// Exchange `i`th and `j`th elements in vector `v`. 78| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 79| |/// @param v Pointer to vector. 80| |/// @param i Offset of one element to exchange. 81| |/// @param j Offset of other element to exchange. 82| |/// @return TBD: GSL's documentation does not specify. 83| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 84| 1| return gsl_vector_ulong_swap_elements(v, i, j); 85| 1|} 86| | 87| | 88| |/// Exchange `i`th and `j`th elements in vector `v`. 89| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 90| |/// @param v Pointer to vector. 91| |/// @param i Offset of one element to exchange. 92| |/// @param j Offset of other element to exchange. 93| |/// @return TBD: GSL's documentation does not specify. 94| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 95| 1| return gsl_vector_short_swap_elements(v, i, j); 96| 1|} 97| | 98| | 99| |/// Exchange `i`th and `j`th elements in vector `v`. 100| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 101| |/// @param v Pointer to vector. 102| |/// @param i Offset of one element to exchange. 103| |/// @param j Offset of other element to exchange. 104| |/// @return TBD: GSL's documentation does not specify. 105| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 106| 1| return gsl_vector_ushort_swap_elements(v, i, j); 107| 1|} 108| | 109| | 110| |/// Exchange `i`th and `j`th elements in vector `v`. 111| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 112| |/// @param v Pointer to vector. 113| |/// @param i Offset of one element to exchange. 114| |/// @param j Offset of other element to exchange. 115| |/// @return TBD: GSL's documentation does not specify. 116| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 117| 1| return gsl_vector_char_swap_elements(v, i, j); 118| 1|} 119| | 120| | 121| |/// Exchange `i`th and `j`th elements in vector `v`. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 123| |/// @param v Pointer to vector. 124| |/// @param i Offset of one element to exchange. 125| |/// @param j Offset of other element to exchange. 126| |/// @return TBD: GSL's documentation does not specify. 127| 1|inline int w_swap_elements(w_vector *v, size_t i, size_t j) { 128| 1| return gsl_vector_uchar_swap_elements(v, i, j); 129| 1|} 130| | 131| | 132| |/// Exchange `i`th and `j`th elements in vector `v`. 133| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 134| |/// @param v Pointer to vector. 135| |/// @param i Offset of one element to exchange. 136| |/// @param j Offset of other element to exchange. 137| |/// @return TBD: GSL's documentation does not specify. 138| 1|inline int w_swap_elements(w_vector> *v, size_t i, size_t j) { 139| 1| return gsl_vector_complex_swap_elements(v, i, j); 140| 1|} 141| | 142| | 143| |/// Exchange `i`th and `j`th elements in vector `v`. 144| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 145| |/// @param v Pointer to vector. 146| |/// @param i Offset of one element to exchange. 147| |/// @param j Offset of other element to exchange. 148| |/// @return TBD: GSL's documentation does not specify. 149| 1|inline int w_swap_elements(w_vector> *v, size_t i, size_t j) { 150| 1| return gsl_vector_complex_float_swap_elements(v, i, j); 151| 1|} 152| | 153| | 154| |/// Exchange `i`th and `j`th elements in vector `v`. 155| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap_elements 156| |/// @param v Pointer to vector. 157| |/// @param i Offset of one element to exchange. 158| |/// @param j Offset of other element to exchange. 159| |/// @return TBD: GSL's documentation does not specify. 160| |inline int 161| 1|w_swap_elements(w_vector> *v, size_t i, size_t j) { 162| 1| return gsl_vector_complex_long_double_swap_elements(v, i, j); 163| 1|} 164| | 165| | 166| |} // namespace gsl 167| | 168| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/swap.hpp: 1| |/// \file include/gslcpp/wrap/swap.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_swap(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 13| |/// @param u Pointer to one vector. 14| |/// @param v Pointer to other vector. 15| |/// @return TBD: GSL's documentation does not specify. 16| 1|inline int w_swap(w_vector *u, w_vector *v) { 17| 1| return gsl_vector_swap(u, v); 18| 1|} 19| | 20| | 21| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 22| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 23| |/// @param u Pointer to one vector. 24| |/// @param v Pointer to other vector. 25| |/// @return TBD: GSL's documentation does not specify. 26| 1|inline int w_swap(w_vector *u, w_vector *v) { 27| 1| return gsl_vector_float_swap(u, v); 28| 1|} 29| | 30| | 31| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 32| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 33| |/// @param u Pointer to one vector. 34| |/// @param v Pointer to other vector. 35| |/// @return TBD: GSL's documentation does not specify. 36| 1|inline int w_swap(w_vector *u, w_vector *v) { 37| 1| return gsl_vector_long_double_swap(u, v); 38| 1|} 39| | 40| | 41| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 42| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 43| |/// @param u Pointer to one vector. 44| |/// @param v Pointer to other vector. 45| |/// @return TBD: GSL's documentation does not specify. 46| 1|inline int w_swap(w_vector *u, w_vector *v) { 47| 1| return gsl_vector_int_swap(u, v); 48| 1|} 49| | 50| | 51| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 52| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 53| |/// @param u Pointer to one vector. 54| |/// @param v Pointer to other vector. 55| |/// @return TBD: GSL's documentation does not specify. 56| 1|inline int w_swap(w_vector *u, w_vector *v) { 57| 1| return gsl_vector_uint_swap(u, v); 58| 1|} 59| | 60| | 61| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 62| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 63| |/// @param u Pointer to one vector. 64| |/// @param v Pointer to other vector. 65| |/// @return TBD: GSL's documentation does not specify. 66| 1|inline int w_swap(w_vector *u, w_vector *v) { 67| 1| return gsl_vector_long_swap(u, v); 68| 1|} 69| | 70| | 71| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 72| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 73| |/// @param u Pointer to one vector. 74| |/// @param v Pointer to other vector. 75| |/// @return TBD: GSL's documentation does not specify. 76| 1|inline int w_swap(w_vector *u, w_vector *v) { 77| 1| return gsl_vector_ulong_swap(u, v); 78| 1|} 79| | 80| | 81| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 82| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 83| |/// @param u Pointer to one vector. 84| |/// @param v Pointer to other vector. 85| |/// @return TBD: GSL's documentation does not specify. 86| 1|inline int w_swap(w_vector *u, w_vector *v) { 87| 1| return gsl_vector_short_swap(u, v); 88| 1|} 89| | 90| | 91| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 92| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 93| |/// @param u Pointer to one vector. 94| |/// @param v Pointer to other vector. 95| |/// @return TBD: GSL's documentation does not specify. 96| 1|inline int w_swap(w_vector *u, w_vector *v) { 97| 1| return gsl_vector_ushort_swap(u, v); 98| 1|} 99| | 100| | 101| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 102| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 103| |/// @param u Pointer to one vector. 104| |/// @param v Pointer to other vector. 105| |/// @return TBD: GSL's documentation does not specify. 106| 1|inline int w_swap(w_vector *u, w_vector *v) { 107| 1| return gsl_vector_char_swap(u, v); 108| 1|} 109| | 110| | 111| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 112| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 113| |/// @param u Pointer to one vector. 114| |/// @param v Pointer to other vector. 115| |/// @return TBD: GSL's documentation does not specify. 116| 1|inline int w_swap(w_vector *u, w_vector *v) { 117| 1| return gsl_vector_uchar_swap(u, v); 118| 1|} 119| | 120| | 121| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 123| |/// @param u Pointer to one vector. 124| |/// @param v Pointer to other vector. 125| |/// @return TBD: GSL's documentation does not specify. 126| 1|inline int w_swap(w_vector> *u, w_vector> *v) { 127| 1| return gsl_vector_complex_swap(u, v); 128| 1|} 129| | 130| | 131| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 132| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 133| |/// @param u Pointer to one vector. 134| |/// @param v Pointer to other vector. 135| |/// @return TBD: GSL's documentation does not specify. 136| 1|inline int w_swap(w_vector> *u, w_vector> *v) { 137| 1| return gsl_vector_complex_float_swap(u, v); 138| 1|} 139| | 140| | 141| |/// Exchange elements of vector `u` and corresponding ones of vector `v`. 142| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_swap 143| |/// @param u Pointer to one vector. 144| |/// @param v Pointer to other vector. 145| |/// @return TBD: GSL's documentation does not specify. 146| |inline int 147| 1|w_swap(w_vector> *u, w_vector> *v) { 148| 1| return gsl_vector_complex_long_double_swap(u, v); 149| 1|} 150| | 151| | 152| |} // namespace gsl 153| | 154| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/vector-alloc.hpp: 1| |/// \file include/gslcpp/wrap/vector-alloc.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_vector_alloc(size_t). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Generic template-declaration for function that allocates vector whose 12| |/// element-type is E. 13| |/// 14| |/// @tparam E Type of each element in vector. 15| |/// @param n Number of elements to allocate. 16| |/// @return Pointer to GSL's native C-struct for vector. 17| |template w_vector *w_vector_alloc(size_t n); 18| | 19| | 20| |/// Specialization for double. 21| |/// @param n Number of elements to allocate. 22| |/// @return Pointer to GSL's native C-struct for vector. 23| 23|template<> inline w_vector *w_vector_alloc(size_t n) { 24| 23| return gsl_vector_alloc(n); 25| 23|} 26| | 27| | 28| |/// Specialization for float. 29| |/// @param n Number of elements to allocate. 30| |/// @return Pointer to GSL's native C-struct for vector. 31| 17|template<> inline w_vector *w_vector_alloc(size_t n) { 32| 17| return gsl_vector_float_alloc(n); 33| 17|} 34| | 35| | 36| |/// Specialization for long double. 37| |/// @param n Number of elements to allocate. 38| |/// @return Pointer to GSL's native C-struct for vector. 39| |template<> 40| 17|inline w_vector *w_vector_alloc(size_t n) { 41| 17| return gsl_vector_long_double_alloc(n); 42| 17|} 43| | 44| | 45| |/// Specialization for int. 46| |/// @param n Number of elements to allocate. 47| |/// @return Pointer to GSL's native C-struct for vector. 48| 17|template<> inline w_vector *w_vector_alloc(size_t n) { 49| 17| return gsl_vector_int_alloc(n); 50| 17|} 51| | 52| | 53| |/// Specialization for unsigned. 54| |/// @param n Number of elements to allocate. 55| |/// @return Pointer to GSL's native C-struct for vector. 56| 17|template<> inline w_vector *w_vector_alloc(size_t n) { 57| 17| return gsl_vector_uint_alloc(n); 58| 17|} 59| | 60| | 61| |/// Specialization for long. 62| |/// @param n Number of elements to allocate. 63| |/// @return Pointer to GSL's native C-struct for vector. 64| 17|template<> inline w_vector *w_vector_alloc(size_t n) { 65| 17| return gsl_vector_long_alloc(n); 66| 17|} 67| | 68| | 69| |/// Specialization for unsigned long. 70| |/// @param n Number of elements to allocate. 71| |/// @return Pointer to GSL's native C-struct for vector. 72| |template<> 73| 17|inline w_vector *w_vector_alloc(size_t n) { 74| 17| return gsl_vector_ulong_alloc(n); 75| 17|} 76| | 77| | 78| |/// Specialization for short. 79| |/// @param n Number of elements to allocate. 80| |/// @return Pointer to GSL's native C-struct for vector. 81| 17|template<> inline w_vector *w_vector_alloc(size_t n) { 82| 17| return gsl_vector_short_alloc(n); 83| 17|} 84| | 85| | 86| |/// Specialization for unsigned short. 87| |/// @param n Number of elements to allocate. 88| |/// @return Pointer to GSL's native C-struct for vector. 89| |template<> 90| 17|inline w_vector *w_vector_alloc(size_t n) { 91| 17| return gsl_vector_ushort_alloc(n); 92| 17|} 93| | 94| | 95| |/// Specialization for char. 96| |/// @param n Number of elements to allocate. 97| |/// @return Pointer to GSL's native C-struct for vector. 98| 17|template<> inline w_vector *w_vector_alloc(size_t n) { 99| 17| return gsl_vector_char_alloc(n); 100| 17|} 101| | 102| | 103| |/// Specialization for unsigned char. 104| |/// @param n Number of elements to allocate. 105| |/// @return Pointer to GSL's native C-struct for vector. 106| |template<> 107| 17|inline w_vector *w_vector_alloc(size_t n) { 108| 17| return gsl_vector_uchar_alloc(n); 109| 17|} 110| | 111| | 112| |/// Specialization for complex. 113| |/// @param n Number of elements to allocate. 114| |/// @return Pointer to GSL's native C-struct for vector. 115| |template<> 116| 19|inline w_vector> *w_vector_alloc>(size_t n) { 117| 19| return gsl_vector_complex_alloc(n); 118| 19|} 119| | 120| | 121| |/// Specialization for complex. 122| |/// @param n Number of elements to allocate. 123| |/// @return Pointer to GSL's native C-struct for vector. 124| |template<> 125| 19|inline w_vector> *w_vector_alloc>(size_t n) { 126| 19| return gsl_vector_complex_float_alloc(n); 127| 19|} 128| | 129| | 130| |/// Specialization for complex. 131| |/// @param n Number of elements to allocate. 132| |/// @return Pointer to GSL's native C-struct for vector. 133| |template<> 134| |inline w_vector> * 135| 19|w_vector_alloc>(size_t n) { 136| 19| return gsl_vector_complex_long_double_alloc(n); 137| 19|} 138| | 139| | 140| |} // namespace gsl 141| | 142| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/vector-calloc.hpp: 1| |/// \file include/gslcpp/wrap/vector-calloc.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_vector_calloc(size_t). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Generic template-declaration for function that allocates vector whose 12| |/// element-type is E and initializes each element to zero. 13| |/// 14| |/// @tparam E Type of each element in vector. 15| |/// @param n Number of elements to allocate. 16| |/// @return Pointer to GSL's native C-struct for zero-initialized vector. 17| |template w_vector *w_vector_calloc(size_t n); 18| | 19| | 20| |/// Specialization for double. 21| |/// @param n Number of elements to allocate. 22| |/// @return Pointer to GSL's native C-struct for vector. 23| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 24| 1| return gsl_vector_calloc(n); 25| 1|} 26| | 27| | 28| |/// Specialization for float. 29| |/// @param n Number of elements to allocate. 30| |/// @return Pointer to GSL's native C-struct for vector. 31| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 32| 1| return gsl_vector_float_calloc(n); 33| 1|} 34| | 35| | 36| |/// Specialization for long double. 37| |/// @param n Number of elements to allocate. 38| |/// @return Pointer to GSL's native C-struct for vector. 39| |template<> 40| 1|inline w_vector *w_vector_calloc(size_t n) { 41| 1| return gsl_vector_long_double_calloc(n); 42| 1|} 43| | 44| | 45| |/// Specialization for int. 46| |/// @param n Number of elements to allocate. 47| |/// @return Pointer to GSL's native C-struct for vector. 48| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 49| 1| return gsl_vector_int_calloc(n); 50| 1|} 51| | 52| | 53| |/// Specialization for unsigned. 54| |/// @param n Number of elements to allocate. 55| |/// @return Pointer to GSL's native C-struct for vector. 56| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 57| 1| return gsl_vector_uint_calloc(n); 58| 1|} 59| | 60| | 61| |/// Specialization for long. 62| |/// @param n Number of elements to allocate. 63| |/// @return Pointer to GSL's native C-struct for vector. 64| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 65| 1| return gsl_vector_long_calloc(n); 66| 1|} 67| | 68| | 69| |/// Specialization for unsigned long. 70| |/// @param n Number of elements to allocate. 71| |/// @return Pointer to GSL's native C-struct for vector. 72| |template<> 73| 1|inline w_vector *w_vector_calloc(size_t n) { 74| 1| return gsl_vector_ulong_calloc(n); 75| 1|} 76| | 77| | 78| |/// Specialization for short. 79| |/// @param n Number of elements to allocate. 80| |/// @return Pointer to GSL's native C-struct for vector. 81| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 82| 1| return gsl_vector_short_calloc(n); 83| 1|} 84| | 85| | 86| |/// Specialization for unsigned short. 87| |/// @param n Number of elements to allocate. 88| |/// @return Pointer to GSL's native C-struct for vector. 89| |template<> 90| 1|inline w_vector *w_vector_calloc(size_t n) { 91| 1| return gsl_vector_ushort_calloc(n); 92| 1|} 93| | 94| | 95| |/// Specialization for char. 96| |/// @param n Number of elements to allocate. 97| |/// @return Pointer to GSL's native C-struct for vector. 98| 1|template<> inline w_vector *w_vector_calloc(size_t n) { 99| 1| return gsl_vector_char_calloc(n); 100| 1|} 101| | 102| | 103| |/// Specialization for unsigned char. 104| |/// @param n Number of elements to allocate. 105| |/// @return Pointer to GSL's native C-struct for vector. 106| |template<> 107| 1|inline w_vector *w_vector_calloc(size_t n) { 108| 1| return gsl_vector_uchar_calloc(n); 109| 1|} 110| | 111| | 112| |/// Specialization for complex. 113| |/// @param n Number of elements to allocate. 114| |/// @return Pointer to GSL's native C-struct for vector. 115| |template<> 116| 1|inline w_vector> *w_vector_calloc>(size_t n) { 117| 1| return gsl_vector_complex_calloc(n); 118| 1|} 119| | 120| | 121| |/// Specialization for complex. 122| |/// @param n Number of elements to allocate. 123| |/// @return Pointer to GSL's native C-struct for vector. 124| |template<> 125| 1|inline w_vector> *w_vector_calloc>(size_t n) { 126| 1| return gsl_vector_complex_float_calloc(n); 127| 1|} 128| | 129| | 130| |/// Specialization for complex. 131| |/// @param n Number of elements to allocate. 132| |/// @return Pointer to GSL's native C-struct for vector. 133| |template<> 134| |inline w_vector> * 135| 1|w_vector_calloc>(size_t n) { 136| 1| return gsl_vector_complex_long_double_calloc(n); 137| 1|} 138| | 139| | 140| |} // namespace gsl 141| | 142| |// EOF /home/runner/work/gslcpp/gslcpp/include/gslcpp/wrap/vector-view-array.hpp: 1| |/// \file include/gslcpp/wrap/vector-view-array.hpp 2| |/// \copyright 2022 Thomas E. Vaughan, all rights reserved. 3| |/// \brief Definition of gsl::w_vector_view_array(). 4| | 5| |#pragma once 6| |#include "container.hpp" // w_vector 7| | 8| |namespace gsl { 9| | 10| | 11| |/// Initialize view of C-style array as vector. 12| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 13| |/// @param b Pointer to first element of view. 14| |/// @param s Stride of successive elements in view relative to array. 15| |/// @param n Number of elements in view. 16| |/// @return View of C-style array as vector. 17| 52|inline auto w_vector_view_array(double *b, size_t s, size_t n) { 18| 52| return gsl_vector_view_array_with_stride(b, s, n); 19| 52|} 20| | 21| | 22| |/// Initialize view of C-style array as vector. 23| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 24| |/// @param b Pointer to first element of view. 25| |/// @param s Stride of successive elements in view relative to array. 26| |/// @param n Number of elements in view. 27| |/// @return View of C-style array as vector. 28| 47|inline auto w_vector_view_array(double const *b, size_t s, size_t n) { 29| 47| return gsl_vector_const_view_array_with_stride(b, s, n); 30| 47|} 31| | 32| | 33| |/// Initialize view of C-style array as vector. 34| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 35| |/// @param b Pointer to first element of view. 36| |/// @param s Stride of successive elements in view relative to array. 37| |/// @param n Number of elements in view. 38| |/// @return View of C-style array as vector. 39| 45|inline auto w_vector_view_array(float *b, size_t s, size_t n) { 40| 45| return gsl_vector_float_view_array_with_stride(b, s, n); 41| 45|} 42| | 43| | 44| |/// Initialize view of C-style array as vector. 45| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 46| |/// @param b Pointer to first element of view. 47| |/// @param s Stride of successive elements in view relative to array. 48| |/// @param n Number of elements in view. 49| |/// @return View of C-style array as vector. 50| 38|inline auto w_vector_view_array(float const *b, size_t s, size_t n) { 51| 38| return gsl_vector_float_const_view_array_with_stride(b, s, n); 52| 38|} 53| | 54| | 55| |/// Initialize view of C-style array as vector. 56| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 57| |/// @param b Pointer to first element of view. 58| |/// @param s Stride of successive elements in view relative to array. 59| |/// @param n Number of elements in view. 60| |/// @return View of C-style array as vector. 61| 45|inline auto w_vector_view_array(long double *b, size_t s, size_t n) { 62| 45| return gsl_vector_long_double_view_array_with_stride(b, s, n); 63| 45|} 64| | 65| | 66| |/// Initialize view of C-style array as vector. 67| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 68| |/// @param b Pointer to first element of view. 69| |/// @param s Stride of successive elements in view relative to array. 70| |/// @param n Number of elements in view. 71| |/// @return View of C-style array as vector. 72| 38|inline auto w_vector_view_array(long double const *b, size_t s, size_t n) { 73| 38| return gsl_vector_long_double_const_view_array_with_stride(b, s, n); 74| 38|} 75| | 76| | 77| |/// Initialize view of C-style array as vector. 78| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 79| |/// @param b Pointer to first element of view. 80| |/// @param s Stride of successive elements in view relative to array. 81| |/// @param n Number of elements in view. 82| |/// @return View of C-style array as vector. 83| 45|inline auto w_vector_view_array(int *b, size_t s, size_t n) { 84| 45| return gsl_vector_int_view_array_with_stride(b, s, n); 85| 45|} 86| | 87| | 88| |/// Initialize view of C-style array as vector. 89| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 90| |/// @param b Pointer to first element of view. 91| |/// @param s Stride of successive elements in view relative to array. 92| |/// @param n Number of elements in view. 93| |/// @return View of C-style array as vector. 94| 38|inline auto w_vector_view_array(int const *b, size_t s, size_t n) { 95| 38| return gsl_vector_int_const_view_array_with_stride(b, s, n); 96| 38|} 97| | 98| | 99| |/// Initialize view of C-style array as vector. 100| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 101| |/// @param b Pointer to first element of view. 102| |/// @param s Stride of successive elements in view relative to array. 103| |/// @param n Number of elements in view. 104| |/// @return View of C-style array as vector. 105| 45|inline auto w_vector_view_array(unsigned *b, size_t s, size_t n) { 106| 45| return gsl_vector_uint_view_array_with_stride(b, s, n); 107| 45|} 108| | 109| | 110| |/// Initialize view of C-style array as vector. 111| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 112| |/// @param b Pointer to first element of view. 113| |/// @param s Stride of successive elements in view relative to array. 114| |/// @param n Number of elements in view. 115| |/// @return View of C-style array as vector. 116| 38|inline auto w_vector_view_array(unsigned const *b, size_t s, size_t n) { 117| 38| return gsl_vector_uint_const_view_array_with_stride(b, s, n); 118| 38|} 119| | 120| | 121| |/// Initialize view of C-style array as vector. 122| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 123| |/// @param b Pointer to first element of view. 124| |/// @param s Stride of successive elements in view relative to array. 125| |/// @param n Number of elements in view. 126| |/// @return View of C-style array as vector. 127| 45|inline auto w_vector_view_array(long *b, size_t s, size_t n) { 128| 45| return gsl_vector_long_view_array_with_stride(b, s, n); 129| 45|} 130| | 131| | 132| |/// Initialize view of C-style array as vector. 133| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 134| |/// @param b Pointer to first element of view. 135| |/// @param s Stride of successive elements in view relative to array. 136| |/// @param n Number of elements in view. 137| |/// @return View of C-style array as vector. 138| 38|inline auto w_vector_view_array(long const *b, size_t s, size_t n) { 139| 38| return gsl_vector_long_const_view_array_with_stride(b, s, n); 140| 38|} 141| | 142| | 143| |/// Initialize view of C-style array as vector. 144| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 145| |/// @param b Pointer to first element of view. 146| |/// @param s Stride of successive elements in view relative to array. 147| |/// @param n Number of elements in view. 148| |/// @return View of C-style array as vector. 149| 45|inline auto w_vector_view_array(unsigned long *b, size_t s, size_t n) { 150| 45| return gsl_vector_ulong_view_array_with_stride(b, s, n); 151| 45|} 152| | 153| | 154| |/// Initialize view of C-style array as vector. 155| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 156| |/// @param b Pointer to first element of view. 157| |/// @param s Stride of successive elements in view relative to array. 158| |/// @param n Number of elements in view. 159| |/// @return View of C-style array as vector. 160| 38|inline auto w_vector_view_array(unsigned long const *b, size_t s, size_t n) { 161| 38| return gsl_vector_ulong_const_view_array_with_stride(b, s, n); 162| 38|} 163| | 164| | 165| |/// Initialize view of C-style array as vector. 166| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 167| |/// @param b Pointer to first element of view. 168| |/// @param s Stride of successive elements in view relative to array. 169| |/// @param n Number of elements in view. 170| |/// @return View of C-style array as vector. 171| 45|inline auto w_vector_view_array(short *b, size_t s, size_t n) { 172| 45| return gsl_vector_short_view_array_with_stride(b, s, n); 173| 45|} 174| | 175| | 176| |/// Initialize view of C-style array as vector. 177| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 178| |/// @param b Pointer to first element of view. 179| |/// @param s Stride of successive elements in view relative to array. 180| |/// @param n Number of elements in view. 181| |/// @return View of C-style array as vector. 182| 38|inline auto w_vector_view_array(short const *b, size_t s, size_t n) { 183| 38| return gsl_vector_short_const_view_array_with_stride(b, s, n); 184| 38|} 185| | 186| | 187| |/// Initialize view of C-style array as vector. 188| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 189| |/// @param b Pointer to first element of view. 190| |/// @param s Stride of successive elements in view relative to array. 191| |/// @param n Number of elements in view. 192| |/// @return View of C-style array as vector. 193| 45|inline auto w_vector_view_array(unsigned short *b, size_t s, size_t n) { 194| 45| return gsl_vector_ushort_view_array_with_stride(b, s, n); 195| 45|} 196| | 197| | 198| |/// Initialize view of C-style array as vector. 199| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 200| |/// @param b Pointer to first element of view. 201| |/// @param s Stride of successive elements in view relative to array. 202| |/// @param n Number of elements in view. 203| |/// @return View of C-style array as vector. 204| 38|inline auto w_vector_view_array(unsigned short const *b, size_t s, size_t n) { 205| 38| return gsl_vector_ushort_const_view_array_with_stride(b, s, n); 206| 38|} 207| | 208| | 209| |/// Initialize view of C-style array as vector. 210| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 211| |/// @param b Pointer to first element of view. 212| |/// @param s Stride of successive elements in view relative to array. 213| |/// @param n Number of elements in view. 214| |/// @return View of C-style array as vector. 215| 45|inline auto w_vector_view_array(char *b, size_t s, size_t n) { 216| 45| return gsl_vector_char_view_array_with_stride(b, s, n); 217| 45|} 218| | 219| | 220| |/// Initialize view of C-style array as vector. 221| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 222| |/// @param b Pointer to first element of view. 223| |/// @param s Stride of successive elements in view relative to array. 224| |/// @param n Number of elements in view. 225| |/// @return View of C-style array as vector. 226| 38|inline auto w_vector_view_array(char const *b, size_t s, size_t n) { 227| 38| return gsl_vector_char_const_view_array_with_stride(b, s, n); 228| 38|} 229| | 230| | 231| |/// Initialize view of C-style array as vector. 232| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 233| |/// @param b Pointer to first element of view. 234| |/// @param s Stride of successive elements in view relative to array. 235| |/// @param n Number of elements in view. 236| |/// @return View of C-style array as vector. 237| 45|inline auto w_vector_view_array(unsigned char *b, size_t s, size_t n) { 238| 45| return gsl_vector_uchar_view_array_with_stride(b, s, n); 239| 45|} 240| | 241| | 242| |/// Initialize view of C-style array as vector. 243| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 244| |/// @param b Pointer to first element of view. 245| |/// @param s Stride of successive elements in view relative to array. 246| |/// @param n Number of elements in view. 247| |/// @return View of C-style array as vector. 248| 38|inline auto w_vector_view_array(unsigned char const *b, size_t s, size_t n) { 249| 38| return gsl_vector_uchar_const_view_array_with_stride(b, s, n); 250| 38|} 251| | 252| | 253| |/// Initialize view of C-style array as vector. 254| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 255| |/// @param b Pointer to first element of view. 256| |/// @param s Stride of successive elements in view relative to array. 257| |/// @param n Number of elements in view. 258| |/// @return View of C-style array as vector. 259| 44|inline auto w_vector_view_array(complex *b, size_t s, size_t n) { 260| 44| return gsl_vector_complex_view_array_with_stride((double *)b, s, n); 261| 44|} 262| | 263| | 264| |/// Initialize view of C-style array as vector. 265| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 266| |/// @param b Pointer to first element of view. 267| |/// @param s Stride of successive elements in view relative to array. 268| |/// @param n Number of elements in view. 269| |/// @return View of C-style array as vector. 270| 40|inline auto w_vector_view_array(complex const *b, size_t s, size_t n) { 271| 40| return gsl_vector_complex_const_view_array_with_stride( 272| 40| (double const *)b, s, n); 273| 40|} 274| | 275| | 276| |/// Initialize view of C-style array as vector. 277| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 278| |/// @param b Pointer to first element of view. 279| |/// @param s Stride of successive elements in view relative to array. 280| |/// @param n Number of elements in view. 281| |/// @return View of C-style array as vector. 282| 44|inline auto w_vector_view_array(complex *b, size_t s, size_t n) { 283| 44| return gsl_vector_complex_float_view_array_with_stride((float *)b, s, n); 284| 44|} 285| | 286| | 287| |/// Initialize view of C-style array as vector. 288| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 289| |/// @param b Pointer to first element of view. 290| |/// @param s Stride of successive elements in view relative to array. 291| |/// @param n Number of elements in view. 292| |/// @return View of C-style array as vector. 293| 40|inline auto w_vector_view_array(complex const *b, size_t s, size_t n) { 294| 40| return gsl_vector_complex_float_const_view_array_with_stride( 295| 40| (float const *)b, s, n); 296| 40|} 297| | 298| | 299| |/// Initialize view of C-style array as vector. 300| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 301| |/// @param b Pointer to first element of view. 302| |/// @param s Stride of successive elements in view relative to array. 303| |/// @param n Number of elements in view. 304| |/// @return View of C-style array as vector. 305| 44|inline auto w_vector_view_array(complex *b, size_t s, size_t n) { 306| 44| return gsl_vector_complex_long_double_view_array_with_stride( 307| 44| (long double *)b, s, n); 308| 44|} 309| | 310| | 311| |/// Initialize view of C-style array as vector. 312| |/// https://www.gnu.org/software/gsl/doc/html/vectors.html#c.gsl_vector_view_array_with_stride 313| |/// @param b Pointer to first element of view. 314| |/// @param s Stride of successive elements in view relative to array. 315| |/// @param n Number of elements in view. 316| |/// @return View of C-style array as vector. 317| |inline auto 318| 40|w_vector_view_array(complex const *b, size_t s, size_t n) { 319| 40| return gsl_vector_complex_long_double_const_view_array_with_stride( 320| 40| (long double const *)b, s, n); 321| 40|} 322| | 323| | 324| |} // namespace gsl 325| | 326| |// EOF