ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::eigen::genhermv_workspace Class Reference

Workspace for real genhermetric matrices (eigenvectors and eigenvalues) More...

#include <eigen_genherm.hpp>

Collaboration diagram for gsl::eigen::genhermv_workspace:
Collaboration graph

Public Member Functions

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

Private Attributes

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

Detailed Description

Workspace for real genhermetric matrices (eigenvectors and eigenvalues)

Definition at line 259 of file eigen_genherm.hpp.

Constructor & Destructor Documentation

◆ genhermv_workspace() [1/5]

gsl::eigen::genhermv_workspace::genhermv_workspace ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 264 of file eigen_genherm.hpp.

References ccgsl_pointer, and count.

Referenced by operator=().

◆ genhermv_workspace() [2/5]

gsl::eigen::genhermv_workspace::genhermv_workspace ( size_t const  n)
inlineexplicit

The default constructor creates a new genhermv_workspace with n elements.

Parameters
nThe number of elements in the genhermv_workspace

Definition at line 274 of file eigen_genherm.hpp.

References ccgsl_pointer, count, and gsl::rstat::n().

◆ genhermv_workspace() [3/5]

gsl::eigen::genhermv_workspace::genhermv_workspace ( gsl_eigen_genhermv_workspace *  v)
inlineexplicit

Could construct from a gsl_eigen_genhermv_workspace.

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

Parameters
vThe genhermv_workspace

Definition at line 289 of file eigen_genherm.hpp.

References ccgsl_pointer, and count.

◆ genhermv_workspace() [4/5]

gsl::eigen::genhermv_workspace::genhermv_workspace ( genhermv_workspace const &  v)
inline

The copy constructor.

This creates a new reference to the workspace.

Parameters
vThe genhermv_workspace to copy.

Definition at line 300 of file eigen_genherm.hpp.

References ccgsl_pointer, and count.

◆ ~genhermv_workspace()

gsl::eigen::genhermv_workspace::~genhermv_workspace ( )
inline

The destructor only deletes the pointers if count reaches zero.

Definition at line 319 of file eigen_genherm.hpp.

References ccgsl_pointer, and count.

◆ genhermv_workspace() [5/5]

gsl::eigen::genhermv_workspace::genhermv_workspace ( genhermv_workspace &&  v)
inline

Move constructor.

Parameters
vThe genhermv_workspace to move.

Definition at line 331 of file eigen_genherm.hpp.

References count.

Member Function Documentation

◆ empty()

bool gsl::eigen::genhermv_workspace::empty ( ) const
inline

Find if the genhermv_workspace is empty.

Returns
true if has size zero; otherwise false

Definition at line 408 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ get()

gsl_eigen_genhermv_workspace * gsl::eigen::genhermv_workspace::get ( ) const
inline

Get the gsl_eigen_genhermv_workspace.

Returns
the gsl_eigen_genhermv_workspace

Definition at line 439 of file eigen_genherm.hpp.

References ccgsl_pointer.

Referenced by gsl::eigen::genhermv().

◆ operator bool()

gsl::eigen::genhermv_workspace::operator bool ( ) const
inlineexplicit

Allow conversion to bool.

Returns
true or false according as this contains a pointer to a gsl_eigen_genhermv_workspace

Definition at line 459 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ operator!=()

bool gsl::eigen::genhermv_workspace::operator!= ( genhermv_workspace const &  v) const
inline

Two genhermv_workspace are different equal if their elements are not identical.

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

Definition at line 361 of file eigen_genherm.hpp.

References operator==().

◆ operator<()

bool gsl::eigen::genhermv_workspace::operator< ( genhermv_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 eaxmple, for checking, that a genhermv_workspace is nonnegative.

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

Definition at line 373 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ operator<=()

bool gsl::eigen::genhermv_workspace::operator<= ( genhermv_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 eaxmple, for checking, that a genhermv_workspace is nonnegative.

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

Definition at line 393 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ operator=() [1/2]

genhermv_workspace & gsl::eigen::genhermv_workspace::operator= ( genhermv_workspace &&  v)
inline

Move operator.

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

Definition at line 340 of file eigen_genherm.hpp.

References genhermv_workspace().

◆ operator=() [2/2]

genhermv_workspace & gsl::eigen::genhermv_workspace::operator= ( genhermv_workspace const &  v)
inline

The assignment operator.

This copies elementwise.

Parameters
vThe genhermv_workspace to copy

Definition at line 307 of file eigen_genherm.hpp.

References ccgsl_pointer, and count.

◆ operator==()

bool gsl::eigen::genhermv_workspace::operator== ( genhermv_workspace const &  v) const
inline

Two genhermv_workspace are identically equal if their elements are identical.

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

Definition at line 353 of file eigen_genherm.hpp.

References ccgsl_pointer.

Referenced by operator!=().

◆ operator>()

bool gsl::eigen::genhermv_workspace::operator> ( genhermv_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 eaxmple, for checking, that a genhermv_workspace is nonnegative.

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

Definition at line 383 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ operator>=()

bool gsl::eigen::genhermv_workspace::operator>= ( genhermv_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 eaxmple, for checking, that a genhermv_workspace is nonnegative.

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

Definition at line 403 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ size()

size_t gsl::eigen::genhermv_workspace::size ( ) const
inline

The size of the workspace.

Returns
The size of the workspace

Definition at line 423 of file eigen_genherm.hpp.

References ccgsl_pointer.

◆ swap()

void gsl::eigen::genhermv_workspace::swap ( genhermv_workspace v)
inline

Swap two genhermv_workspace.

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

Parameters
vThe genhermv_workspace to swap with this.

Definition at line 415 of file eigen_genherm.hpp.

References ccgsl_pointer, and count.

◆ unique()

bool gsl::eigen::genhermv_workspace::unique ( ) const
inline

Find if this is the only object sharing the gsl_eigen_genhermv_workspace.

Returns
true or false according as this is the only genhermv_workspace object sharing the gsl_eigen_genhermv_workspace

Definition at line 445 of file eigen_genherm.hpp.

References count.

◆ use_count()

size_t gsl::eigen::genhermv_workspace::use_count ( ) const
inline

Find how many genhermv_workspace objects share this pointer.

Returns
the number of genhermv_workspace objects that share this pointer

Definition at line 450 of file eigen_genherm.hpp.

References count.

Member Data Documentation

◆ ccgsl_pointer

gsl_eigen_genhermv_workspace* gsl::eigen::genhermv_workspace::ccgsl_pointer
private

◆ count

size_t* gsl::eigen::genhermv_workspace::count
private

The shared reference count.

Definition at line 432 of file eigen_genherm.hpp.

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


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