YARP
Yet Another Robot Platform
Gsl.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  *
4  * This program is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU General Public License as published by the Free Software
6  * Foundation; either version 2 of the License, or (at your option) any later
7  * version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  */
18 
19 
20 #ifndef YARP_GSL_GSL_HEADER_H
21 #define YARP_GSL_GSL_HEADER_H
22 
23 /*
24  * This library provides functions for compatibility with GSL.
25  * @warning Including/linking GSL forces this library to be GPL.
26  */
27 
28 #include <yarp/sig/Matrix.h>
29 #include <yarp/sig/Vector.h>
30 #include <yarp/gsl/api.h>
31 
32 namespace yarp {
38  namespace gsl {
39  class GslMatrix;
40  class GslVector;
41  }
42 }
43 
55 {
56 public:
61  ~GslMatrix();
62 
66  void *getGslMatrix();
67 
71  const void *getGslMatrix() const;
72 
73 private:
74  void *gslData;
75 };
76 
88 {
89 public:
91  ~GslVector();
92  void *getGslVector();
93  const void *getGslVector() const;
94 
95 private:
96  void *gslData;
97 };
98 
99 #endif // YARP_GSL_GSL_HEADER_H
yarp::gsl::GslVector::GslVector
GslVector(const yarp::sig::Vector &)
Definition: Gsl.cpp:79
api.h
Vector.h
contains the definition of a Vector type
yarp::gsl::GslVector
Classes for compatibility with the GSL library.
Definition: Gsl.h:88
Matrix.h
contains the definition of a Matrix type
yarp::gsl::GslVector::getGslVector
void * getGslVector()
Definition: Gsl.cpp:114
yarp::gsl::GslMatrix::GslMatrix
GslMatrix(const yarp::sig::Matrix &)
Allocate from yarp Matrix.
Definition: Gsl.cpp:32
yarp::sig::VectorOf< double >
YARP_gsl_API
#define YARP_gsl_API
Definition: api.h:28
yarp::gsl::GslMatrix
Classes for compatibility with the GSL library.
Definition: Gsl.h:55
yarp::gsl::GslVector::~GslVector
~GslVector()
Definition: Gsl.cpp:101
yarp::gsl::GslMatrix::~GslMatrix
~GslMatrix()
Definition: Gsl.cpp:54
yarp::gsl::GslMatrix::getGslMatrix
void * getGslMatrix()
Return GSL compatile pointer.
Definition: Gsl.cpp:67
yarp
The main, catch-all namespace for YARP.
Definition: environment.h:18
yarp::sig::Matrix
A class for a Matrix.
Definition: Matrix.h:46