|
ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
|
Class that extends gsl_odeiv2_system so that it can be constructed from function objects. More...
#include <odeiv2_system.hpp>


Classes | |
| struct | Concept |
| This is an empty base class. More... | |
Public Member Functions | |
| system () | |
| The default constructor is only really useful for assigning to. More... | |
| system (gsl_odeiv2_system &v) | |
| Could construct from a gsl_odeiv2_system object. More... | |
| template<typename T > | |
| system (T &t) | |
| Construct from an object that implements gsl::odeiv2::system::Concept. More... | |
| system (system const &v) | |
| The copy constructor. More... | |
| system & | operator= (system const &v) |
| The assignment operator. More... | |
| system (system &&v) | |
| Move constructor. More... | |
| system & | operator= (system &&v) |
| Move operator. More... | |
| ~system () | |
| The destructor unshares any shared resource. More... | |
Public Attributes | |
| base_F * | f |
| This gives something for params to point to. More... | |
| size_t * | count |
| The shared reference count: used for copying this. More... | |
Friends | |
| template<typename T > | |
| void | system_constructor (system &sys, T &t) |
Class that extends gsl_odeiv2_system so that it can be constructed from function objects.
Since gsl::odeiv2::system is a subclass of gsl_odeiv2_system, a pointer to an object of this class can be used whenever a pointer to a gsl_odeiv2_system object is required. Thus, pointers to objects of this class can be used directly with the GNU Scientific Library.
You can construct a gsl::odeiv2::system object from function objects. If the function object is not already implemented, implementing it as a subclass T of gsl::odeiv2::system::Concept will make it easy to construct using gsl::odeiv2::system<T>(). If the function object uses a single class T that cannot readily be modified, try something like
You can use similar constructions if function and jacobian are defined in different classes.
This class is designed for flexibility rather than efficient copying. So if objects are to be copied frequently, consider using shared pointers or the like. Moving is defined for C++11.
Definition at line 66 of file odeiv2_system.hpp.
|
inline |
The default constructor is only really useful for assigning to.
Definition at line 436 of file odeiv2_system.hpp.
|
inlineexplicit |
Could construct from a gsl_odeiv2_system object.
This constuctor is not actually visible, but gsl::odeiv2::system::system<T>() will construct the object correctly.
| v | The gsl_odeiv2_system. |
Definition at line 451 of file odeiv2_system.hpp.
|
inline |
Construct from an object that implements gsl::odeiv2::system::Concept.
| t | An object that implements gsl::odeiv2::system::Concept. |
Definition at line 468 of file odeiv2_system.hpp.
|
inline |
The copy constructor.
This shares f. This constuctor is not actually visible, but gsl::odeiv2::system::system<T>() will construct the object correctly.
| v | The system to copy. |
Definition at line 478 of file odeiv2_system.hpp.
References count.
|
inline |
Move constructor.
| v | The system to move. |
Definition at line 511 of file odeiv2_system.hpp.
References count.
|
inline |
The destructor unshares any shared resource.
Definition at line 537 of file odeiv2_system.hpp.
Move operator.
| v | The system to move. |
Definition at line 524 of file odeiv2_system.hpp.
The assignment operator.
This makes a shared copy.
| v | The system to copy |
Definition at line 490 of file odeiv2_system.hpp.
|
friend |
| size_t* gsl::odeiv2::system::count |
The shared reference count: used for copying this.
Definition at line 431 of file odeiv2_system.hpp.
Referenced by operator=(), system(), and ~system().
| base_F* gsl::odeiv2::system::f |
This gives something for params to point to.
Definition at line 427 of file odeiv2_system.hpp.
Referenced by operator=(), system(), and ~system().