YARP
Yet Another Robot Platform
Gsl.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: GPL-2.0-or-later
4  */
5 
6 
7 #ifndef YARP_GSL_GSL_HEADER_H
8 #define YARP_GSL_GSL_HEADER_H
9 
10 /*
11  * This library provides functions for compatibility with GSL.
12  * @warning Including/linking GSL forces this library to be GPL.
13  */
14 
15 #include <yarp/sig/Matrix.h>
16 #include <yarp/sig/Vector.h>
17 #include <yarp/gsl/api.h>
18 
19 namespace yarp {
25  namespace gsl {
26  class GslMatrix;
27  class GslVector;
28  }
29 }
30 
42 {
43 public:
48  ~GslMatrix();
49 
53  void *getGslMatrix();
54 
58  const void *getGslMatrix() const;
59 
60 private:
61  void *gslData;
62 };
63 
75 {
76 public:
78  ~GslVector();
79  void *getGslVector();
80  const void *getGslVector() const;
81 
82 private:
83  void *gslData;
84 };
85 
86 #endif // YARP_GSL_GSL_HEADER_H
contains the definition of a Matrix type
contains the definition of a Vector type
Classes for compatibility with the GSL library.
Definition: Gsl.h:42
GslMatrix(const yarp::sig::Matrix &)
Allocate from yarp Matrix.
Definition: Gsl.cpp:19
void * getGslMatrix()
Return GSL compatile pointer.
Definition: Gsl.cpp:54
Classes for compatibility with the GSL library.
Definition: Gsl.h:75
A class for a Matrix.
Definition: Matrix.h:43
The main, catch-all namespace for YARP.
Definition: dirs.h:16
#define YARP_gsl_API
Definition: api.h:17