gslcpp
Modern-C++ Wrapper for GSL
Classes | Namespaces | Typedefs
element.hpp File Reference

Definition for gsl::element, gsl::element_t. More...

#include "complex.hpp"
Include dependency graph for element.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gsl::element< E >
 Via specialization, define fundamental, atomic element for type E of each (possibly complex) element in vector or matrix. More...
 
struct  gsl::element< gsl::complex< double > >
 Specialization of element for gsl::complex<double>. More...
 
struct  gsl::element< gsl::complex< float > >
 Specialization of element for gsl::complex<float>. More...
 
struct  gsl::element< gsl::complex< long double > >
 Specialization of element for gsl::complex<long double>. More...
 
struct  gsl::element< gsl::complex< double > const >
 Specialization of element for gsl::complex<double> const More...
 
struct  gsl::element< gsl::complex< float > const >
 Specialization of element for gsl::complex<float> const. More...
 
struct  gsl::element< gsl::complex< long double > const >
 Specialization of element for gsl::complex<long double> const. More...
 

Namespaces

 gsl
 Namespace for C++-interface to GSL.
 

Typedefs

template<typename E >
using gsl::element_t = typename element< E >::type
 Via specialization, define fundamental, atomic element for type E of each (possibly complex) element in vector or matrix. More...
 

Detailed Description

Definition for gsl::element, gsl::element_t.

Definition in file element.hpp.


Class Documentation

◆ gsl::element

struct gsl::element

template<typename E>
struct gsl::element< E >

Via specialization, define fundamental, atomic element for type E of each (possibly complex) element in vector or matrix.

If E be not complex, then define fundamental type as E, so that each of v_iface::real(), v_iface::imag(), m_iface::real(), and m_iface::imag() has a well defined return-type.

  • Any attempt in client-code to ask for the imaginary part of a real vector or a real matrix will result in a compile-time error.
  • However, a call to v_iface::real() or m_iface::real() should compile and work properly for any type of vector.
Template Parameters
EPossibly complex type of each element in vector or matrix.

Definition at line 25 of file element.hpp.

Class Members
typedef E type Allow each of v_iface::real(), v_iface::imag(), m_iface::real(), or m_iface::imag() to compile without error, so long as client-code does not request the imaginary part of a real vector or a real matrix.

◆ gsl::element< gsl::complex< double > >

struct gsl::element< gsl::complex< double > >

Specialization of element for gsl::complex<double>.

Definition at line 34 of file element.hpp.

Class Members
typedef double type Type of element in view returned by v_iface::real(), etc.

◆ gsl::element< gsl::complex< float > >

struct gsl::element< gsl::complex< float > >

Specialization of element for gsl::complex<float>.

Definition at line 41 of file element.hpp.

Class Members
typedef float type Type of element in view returned by v_iface::real(), etc.

◆ gsl::element< gsl::complex< long double > >

struct gsl::element< gsl::complex< long double > >

Specialization of element for gsl::complex<long double>.

Definition at line 48 of file element.hpp.

Class Members
typedef long double type Type of element in view returned by v_iface::real(), etc.

◆ gsl::element< gsl::complex< double > const >

struct gsl::element< gsl::complex< double > const >

Specialization of element for gsl::complex<double> const

Definition at line 55 of file element.hpp.

Class Members
typedef double const type Type of element in view returned by v_iface::real(), etc.

◆ gsl::element< gsl::complex< float > const >

struct gsl::element< gsl::complex< float > const >

Specialization of element for gsl::complex<float> const.

Definition at line 62 of file element.hpp.

Class Members
typedef float const type Type of element in view returned by v_iface::real(), etc.

◆ gsl::element< gsl::complex< long double > const >

struct gsl::element< gsl::complex< long double > const >

Specialization of element for gsl::complex<long double> const.

Definition at line 69 of file element.hpp.

Class Members
typedef long double const type Type of element in view returned by v_iface::real(), etc.