dsplib 1.1.0
C++ DSP library for MATLAB-like coding
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
dsplib::base_array< T > Class Template Reference

base dsplib array type More...

#include <array.h>

Public Types

using iterator = typename std::vector< T >::iterator
 
using const_iterator = typename std::vector< T >::const_iterator
 

Public Member Functions

 base_array (int n)
 
 base_array (const std::vector< T > &v)
 
template<typename T2 , std::enable_if_t< is_array_convertible< T2, T >(), bool > = true>
 base_array (const std::vector< T2 > &v)
 
 base_array (std::vector< T > &&v) noexcept
 
 base_array (const base_array< T > &v)
 
template<class T2 , std::enable_if_t< is_array_convertible< T2, T >(), bool > = true>
 base_array (const base_array< T2 > &v)
 
 base_array (base_array< T > &&v) noexcept
 
 base_array (const std::initializer_list< T > &list)
 
 base_array (const span_t< T > &v)
 
 base_array (const mut_span_t< T > &v)
 
 base_array (const slice_t< T > &rhs)
 
 base_array (const mut_slice_t< T > &rhs)
 
template<typename T2 , std::enable_if_t< is_array_convertible< T2, T >(), bool > = true>
 base_array (const span_t< T2 > &v)
 
template<typename T2 , std::enable_if_t< is_array_convertible< T2, T >(), bool > = true>
 base_array (const mut_span_t< T2 > &v)
 
 base_array (const T *ptr, size_t size)
 
base_array< T > & operator= (const base_array< T > &rhs)
 
base_array< T > & operator= (base_array< T > &&rhs) noexcept
 
template<typename Index , std::enable_if_t< std::is_integral_v< Index >, bool > = true>
const T & operator[] (Index i) const noexcept
 
template<typename Index , std::enable_if_t< std::is_integral_v< Index >, bool > = true>
T & operator[] (Index i) noexcept
 
base_array< T > operator[] (const std::vector< bool > &idxs) const
 
base_array< T > operator[] (const std::vector< int > &idxs) const
 
base_array< T > operator[] (const base_array< int > &idxs) const
 
std::vector< bool > operator> (T val) const noexcept
 
std::vector< bool > operator< (T val) const noexcept
 
std::vector< bool > operator== (T val) const noexcept
 
std::vector< bool > operator!= (T val) const noexcept
 
std::vector< bool > operator> (const base_array< T > &rhs) const noexcept
 
std::vector< bool > operator< (const base_array< T > &rhs) const noexcept
 
std::vector< bool > operator== (const base_array< T > &rhs) const noexcept
 
std::vector< bool > operator!= (const base_array< T > &rhs) const noexcept
 
mut_slice_t< T > slice (int i1, int i2, int m)
 
slice_t< T > slice (int i1, int i2, int m) const
 
mut_slice_t< T > slice (int i1, indexing::end_t, int m)
 
slice_t< T > slice (int i1, indexing::end_t, int m) const
 
mut_span_t< T > slice (int i1, int i2)
 
mut_span_t< T > slice (int i1, indexing::end_t)
 
span_t< T > slice (int i1, int i2) const
 
span_t< T > slice (int i1, indexing::end_t) const
 
iterator begin () noexcept
 
iterator end () noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
T * data () noexcept
 
const T * data () const noexcept
 
int size () const noexcept
 
bool empty () const noexcept
 
const base_array< T > & operator+ () const noexcept
 
base_array< T > operator- () const noexcept
 
template<class T2 >
base_array< T > & operator+= (const T2 &rhs) noexcept
 
template<class T2 >
base_array< T > & operator-= (const T2 &rhs) noexcept
 
template<class T2 >
base_array< T > & operator*= (const T2 &rhs) noexcept
 
template<class T2 >
base_array< T > & operator/= (const T2 &rhs)
 
template<class T2 >
auto operator+ (const T2 &rhs) const
 
template<class T2 >
auto operator- (const T2 &rhs) const
 
template<class T2 >
auto operator* (const T2 &rhs) const
 
template<class T2 >
auto operator/ (const T2 &rhs) const
 
template<class T2 , class R = ResultType<T, T2>>
base_arrayoperator|= (const base_array< T2 > &rhs)
 
template<class T2 , class R = ResultType<T, T2>>
base_array< R > operator| (const base_array< T2 > &rhs) const
 
template<typename R >
std::vector< R > to_vec () const noexcept
 
const std::vector< T > & to_vec () const noexcept
 
template<typename R >
auto cast () const noexcept
 
template<class Fn >
auto apply (Fn func) const
 

Protected Member Functions

std::ostream & _print (std::ostream &os) const
 

Protected Attributes

std::vector< T > _vec
 

Friends

std::ostream & operator<< (std::ostream &os, const base_array &x)
 

Detailed Description

template<typename T>
class dsplib::base_array< T >

base dsplib array type

Todo:

add array_view as parent for array/slice

add slice(vector<bool>)

Template Parameters
T[real_t, cmplx_t, int]

The documentation for this class was generated from the following file: