ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::bspline::workspace Class Reference

#include <bspline.hpp>

Collaboration diagram for gsl::bspline::workspace:
Collaboration graph

Public Member Functions

 workspace ()
 The default constructor is only really useful for assigning to. More...
 
 workspace (size_t const k, size_t const nbreak)
 The default constructor creates a new workspace of order k for data with nbreak breakpoints. More...
 
 workspace (gsl_bspline_workspace *v)
 Could construct from a gsl_bspline_workspace. More...
 
 workspace (workspace const &v)
 The copy constructor. More...
 
workspaceoperator= (workspace const &v)
 The assignment operator. More...
 
 ~workspace ()
 The destructor only deletes the pointers if count reaches zero. More...
 
 workspace (workspace &&v)
 Move constructor. More...
 
workspaceoperator= (workspace &&v)
 Move operator. More...
 
bool operator== (workspace const &v) const
 Two workspace are identically equal if their elements are identical. More...
 
bool operator!= (workspace const &v) const
 Two workspace are different if their elements are not identical. More...
 
bool operator< (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator> (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator<= (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator>= (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool empty () const
 Find if the workspace is empty. More...
 
void swap (workspace &v)
 Swap two workspace objects. More...
 
gsl_bspline_workspace * get () const
 Get the gsl_bspline_workspace. More...
 
bool unique () const
 Find if this is the only object sharing the gsl_bspline. More...
 
size_t use_count () const
 Find how many workspace objects share this pointer. More...
 
 operator bool () const
 Allow conversion to bool. More...
 
gsl::vector knots ()
 Get the knots vector. More...
 

Private Attributes

gsl_bspline_workspace * ccgsl_pointer
 The shared pointer. More...
 
size_t * count
 The shared reference count. More...
 

Detailed Description

Definition at line 32 of file bspline.hpp.

Constructor & Destructor Documentation

◆ workspace() [1/5]

gsl::bspline::workspace::workspace ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 37 of file bspline.hpp.

References ccgsl_pointer, and count.

Referenced by operator=().

◆ workspace() [2/5]

gsl::bspline::workspace::workspace ( size_t const  k,
size_t const  nbreak 
)
inlineexplicit

The default constructor creates a new workspace of order k for data with nbreak breakpoints.

Parameters
kThe order of the basis spline
nbreakthe number of breakpoints

Definition at line 49 of file bspline.hpp.

References ccgsl_pointer, count, and gsl::bspline::nbreak().

◆ workspace() [3/5]

gsl::bspline::workspace::workspace ( gsl_bspline_workspace *  v)
inlineexplicit

Could construct from a gsl_bspline_workspace.

This is not usually a good idea. In this case we should not use gsl_bspline_free() to deallocate the memory.

Parameters
vThe gsl_bspline_workspace

Definition at line 65 of file bspline.hpp.

References ccgsl_pointer, and count.

◆ workspace() [4/5]

gsl::bspline::workspace::workspace ( workspace const &  v)
inline

The copy constructor.

This creates a new reference to the workspace.

Parameters
vThe workspace to copy.

Definition at line 76 of file bspline.hpp.

References ccgsl_pointer, and count.

◆ ~workspace()

gsl::bspline::workspace::~workspace ( )
inline

The destructor only deletes the pointers if count reaches zero.

Definition at line 95 of file bspline.hpp.

References ccgsl_pointer, and count.

◆ workspace() [5/5]

gsl::bspline::workspace::workspace ( workspace &&  v)
inline

Move constructor.

Parameters
vThe workspace to move.

Definition at line 107 of file bspline.hpp.

References count.

Member Function Documentation

◆ empty()

bool gsl::bspline::workspace::empty ( ) const
inline

Find if the workspace is empty.

Returns
true if has size zero; otherwise false

Definition at line 184 of file bspline.hpp.

References ccgsl_pointer.

◆ get()

gsl_bspline_workspace * gsl::bspline::workspace::get ( ) const
inline

◆ knots()

gsl::vector gsl::bspline::workspace::knots ( )
inline

Get the knots vector.

Do not confuse this with bspline::knots() which computes the knots.

Returns
The knots vector

Definition at line 236 of file bspline.hpp.

References ccgsl_pointer, and gsl::vector::wrap_gsl_vector_without_ownership().

◆ operator bool()

gsl::bspline::workspace::operator bool ( ) const
inlineexplicit

Allow conversion to bool.

Returns
true or false according as this contains a pointer to a gsl_bspline_workspace.

Definition at line 230 of file bspline.hpp.

References ccgsl_pointer.

◆ operator!=()

bool gsl::bspline::workspace::operator!= ( workspace const &  v) const
inline

Two workspace are different if their elements are not identical.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this and v have identical elements or not

Definition at line 137 of file bspline.hpp.

References operator==().

◆ operator<()

bool gsl::bspline::workspace::operator< ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is less than v lexicographically

Definition at line 149 of file bspline.hpp.

References ccgsl_pointer.

◆ operator<=()

bool gsl::bspline::workspace::operator<= ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is less than or equal to v lexicographically

Definition at line 169 of file bspline.hpp.

References ccgsl_pointer.

◆ operator=() [1/2]

workspace & gsl::bspline::workspace::operator= ( workspace &&  v)
inline

Move operator.

Parameters
vThe workspace to move.
Returns
A reference to this.

Definition at line 116 of file bspline.hpp.

References workspace().

◆ operator=() [2/2]

workspace & gsl::bspline::workspace::operator= ( workspace const &  v)
inline

The assignment operator.

This copies elementwise.

Parameters
vThe workspace to copy

Definition at line 83 of file bspline.hpp.

References ccgsl_pointer, and count.

◆ operator==()

bool gsl::bspline::workspace::operator== ( workspace const &  v) const
inline

Two workspace are identically equal if their elements are identical.

Parameters
vThe workspace to be compared with this
Returns
true or false according as this and v have identical elements or not

Definition at line 129 of file bspline.hpp.

References ccgsl_pointer.

Referenced by operator!=().

◆ operator>()

bool gsl::bspline::workspace::operator> ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is greater than v lexicographically

Definition at line 159 of file bspline.hpp.

References ccgsl_pointer.

◆ operator>=()

bool gsl::bspline::workspace::operator>= ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is no less than v lexicographically

Definition at line 179 of file bspline.hpp.

References ccgsl_pointer.

◆ swap()

void gsl::bspline::workspace::swap ( workspace v)
inline

Swap two workspace objects.

This works even if the workspace have different sizes because it swaps pointers.

Parameters
vThe workspace to swap with this.

Definition at line 191 of file bspline.hpp.

References ccgsl_pointer, and count.

◆ unique()

bool gsl::bspline::workspace::unique ( ) const
inline

Find if this is the only object sharing the gsl_bspline.

Returns
true or falses according as this is the only workspace object sharing the gsl_bspline.

Definition at line 216 of file bspline.hpp.

References count.

◆ use_count()

size_t gsl::bspline::workspace::use_count ( ) const
inline

Find how many workspace objects share this pointer.

Returns
the number of workspace objects that share this pointer.

Definition at line 221 of file bspline.hpp.

References count.

Member Data Documentation

◆ ccgsl_pointer

gsl_bspline_workspace* gsl::bspline::workspace::ccgsl_pointer
private

◆ count

size_t* gsl::bspline::workspace::count
private

The shared reference count.

Definition at line 203 of file bspline.hpp.

Referenced by operator=(), swap(), unique(), use_count(), workspace(), and ~workspace().


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