flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY

#include <gsl_vector.hpp>

Collaboration diagram for flexiblesusy::GSL_vector:
Collaboration graph

Public Member Functions

bool empty () const noexcept
 check if empty More...
 
 GSL_vector ()=default
 
 GSL_vector (const GSL_vector &)
 
 GSL_vector (const gsl_vector *)
 create copy of given gsl_vector More...
 
 GSL_vector (GSL_vector &&) noexcept
 
 GSL_vector (std::initializer_list< double >)
 
 GSL_vector (std::size_t)
 
double & operator() (std::size_t)
 element read/write access w/ range check More...
 
double operator() (std::size_t) const
 element read access w/ range check More...
 
GSL_vectoroperator= (const GSL_vector &)
 
GSL_vectoroperator= (GSL_vector &&) noexcept
 
double & operator[] (std::size_t)
 element read/write access More...
 
double operator[] (std::size_t) const
 element read access More...
 
const gsl_vector * raw () const noexcept
 get raw pointer More...
 
gsl_vector * raw () noexcept
 get raw pointer More...
 
gsl::owner< gsl_vector > * release () noexcept
 release raw pointer from this object More...
 
void set_all (double) noexcept
 set all elemets to same value More...
 
std::size_t size () const noexcept
 number of elements More...
 
 ~GSL_vector () noexcept
 

Private Member Functions

void assign (const gsl_vector *)
 assign from gsl_vector More...
 
void move_assign (GSL_vector &&) noexcept
 move assign More...
 
void range_check (std::size_t) const
 

Private Attributes

gsl::owner< gsl_vector > * vec {nullptr}
 raw gsl_vector More...
 

Detailed Description

Definition at line 30 of file gsl_vector.hpp.

Constructor & Destructor Documentation

◆ GSL_vector() [1/6]

flexiblesusy::GSL_vector::GSL_vector ( )
default

◆ GSL_vector() [2/6]

flexiblesusy::GSL_vector::GSL_vector ( std::size_t  size)

Definition at line 29 of file gsl_vector.cpp.

References size(), flexiblesusy::to_string(), and vec.

◆ GSL_vector() [3/6]

flexiblesusy::GSL_vector::GSL_vector ( const gsl_vector *  v)

create copy of given gsl_vector

Creates a new GSL_vector by copying the content of the given gsl_vector .

Parameters
vgsl_vector to copy elements from

Definition at line 50 of file gsl_vector.cpp.

References assign().

◆ GSL_vector() [4/6]

flexiblesusy::GSL_vector::GSL_vector ( const GSL_vector other)

Definition at line 55 of file gsl_vector.cpp.

References size(), flexiblesusy::to_string(), and vec.

◆ GSL_vector() [5/6]

flexiblesusy::GSL_vector::GSL_vector ( GSL_vector &&  other)
noexcept

Definition at line 68 of file gsl_vector.cpp.

◆ GSL_vector() [6/6]

flexiblesusy::GSL_vector::GSL_vector ( std::initializer_list< double >  list)

Definition at line 73 of file gsl_vector.cpp.

References flexiblesusy::to_string(), and vec.

◆ ~GSL_vector()

flexiblesusy::GSL_vector::~GSL_vector ( )
noexcept

Definition at line 90 of file gsl_vector.cpp.

References vec.

Member Function Documentation

◆ assign()

void flexiblesusy::GSL_vector::assign ( const gsl_vector *  other)
private

assign from gsl_vector

Creates new GSL_vector with the content of the given pointer.

Parameters
othergsl_vector whose elements are copied

Definition at line 100 of file gsl_vector.cpp.

References size(), flexiblesusy::to_string(), and vec.

Referenced by GSL_vector(), and operator=().

◆ empty()

bool flexiblesusy::GSL_vector::empty ( ) const
noexcept

check if empty

Definition at line 123 of file gsl_vector.cpp.

References size().

Referenced by flexiblesusy::begin(), flexiblesusy::cbegin(), flexiblesusy::cend(), and flexiblesusy::end().

◆ move_assign()

void flexiblesusy::GSL_vector::move_assign ( GSL_vector &&  other)
privatenoexcept

move assign

Definition at line 224 of file gsl_vector.cpp.

◆ operator()() [1/2]

double & flexiblesusy::GSL_vector::operator() ( std::size_t  n)

element read/write access w/ range check

Definition at line 157 of file gsl_vector.cpp.

References operator[](), and range_check().

◆ operator()() [2/2]

double flexiblesusy::GSL_vector::operator() ( std::size_t  n) const

element read access w/ range check

Definition at line 163 of file gsl_vector.cpp.

References operator[](), and range_check().

◆ operator=() [1/2]

GSL_vector & flexiblesusy::GSL_vector::operator= ( const GSL_vector rhs)

Definition at line 128 of file gsl_vector.cpp.

References assign(), and vec.

◆ operator=() [2/2]

GSL_vector & flexiblesusy::GSL_vector::operator= ( GSL_vector &&  rhs)
noexcept

Definition at line 137 of file gsl_vector.cpp.

◆ operator[]() [1/2]

double & flexiblesusy::GSL_vector::operator[] ( std::size_t  n)

element read/write access

Definition at line 147 of file gsl_vector.cpp.

References vec.

Referenced by operator()().

◆ operator[]() [2/2]

double flexiblesusy::GSL_vector::operator[] ( std::size_t  n) const

element read access

Definition at line 152 of file gsl_vector.cpp.

References vec.

◆ range_check()

void flexiblesusy::GSL_vector::range_check ( std::size_t  n) const
private

Definition at line 230 of file gsl_vector.cpp.

References size(), flexiblesusy::to_string(), and vec.

Referenced by operator()().

◆ raw() [1/2]

◆ raw() [2/2]

gsl_vector * flexiblesusy::GSL_vector::raw ( )
noexcept

get raw pointer

Definition at line 196 of file gsl_vector.cpp.

References vec.

◆ release()

gsl::owner< gsl_vector > * flexiblesusy::GSL_vector::release ( )
noexcept

release raw pointer from this object

Releases the encapsulated gsl_vector from this object. The pointer to the gsl_vector is returned. After this method has been called, this object will no longer delete the the gsl_vector .

Returns
pointer to gsl_vector

Definition at line 184 of file gsl_vector.cpp.

References raw(), and vec.

◆ set_all()

void flexiblesusy::GSL_vector::set_all ( double  value)
noexcept

set all elemets to same value

Definition at line 201 of file gsl_vector.cpp.

Referenced by flexiblesusy::Minimizer< dimension >::minimize().

◆ size()

std::size_t flexiblesusy::GSL_vector::size ( ) const
noexcept

Member Data Documentation

◆ vec

gsl::owner<gsl_vector>* flexiblesusy::GSL_vector::vec {nullptr}
private

raw gsl_vector

Definition at line 55 of file gsl_vector.hpp.

Referenced by assign(), GSL_vector(), operator=(), operator[](), range_check(), raw(), release(), size(), and ~GSL_vector().


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