Gaia
convert.h
1 /*
2  * Copyright (C) 2006-2013 Music Technology Group - Universitat Pompeu Fabra
3  *
4  * This file is part of Gaia
5  *
6  * Gaia is free software: you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License as published by the Free
8  * Software Foundation (FSF), either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14  * details.
15  *
16  * You should have received a copy of the Affero GNU General Public License
17  * version 3 along with this program. If not, see http://www.gnu.org/licenses/
18  */
19 
20 #ifndef GAIA_CONVERT_H
21 #define GAIA_CONVERT_H
22 
23 #include <vector>
24 #include <string>
25 #include <QStringList>
26 #include "descriptor.h"
27 #include "view.h"
28 
29 namespace gaia2 {
30 
34 namespace convert {
35 
39 std::string toString(const QString& qstr);
40 
44 std::vector<std::string> QStringList_to_VectorString(const QList<QString>& qlist);
45 
49 QStringList VectorString_to_QStringList(const std::vector<std::string>& svector);
50 
54 std::vector<float> RealDescriptor_to_VectorFloat(const RealDescriptor& rdesc);
55 
59 RealDescriptor VectorFloat_to_RealDescriptor(const std::vector<float>& fvector);
60 
64 std::vector<std::string> StringDescriptor_to_VectorString(const StringDescriptor& sdesc);
65 
69 StringDescriptor VectorString_to_StringDescriptor(const std::vector<std::string>& svector);
70 
74 std::vector<std::pair<std::string, float> > SearchResults_to_StlTypes(const SearchResults& results);
75 
79 QList<QPointF> VectorPair_to_QPointList(const std::vector<std::pair<float, float> >& pvector);
80 
84 std::vector<std::pair<float, float> > QPointList_to_VectorPair(const QList<QPointF>& plist);
85 
86 
90 template <typename T>
91 QList<T> Vector_to_QList(const std::vector<T>& v) {
92  QList<T> result;
93  for (int i=0; i<(int)v.size(); i++) result << v[i];
94  return result;
95 }
96 
97 
98 } // namespace convert
99 } // namespace gaia2
100 
101 #endif // GAIA_CONVERT_H
std::vector< float > RealDescriptor_to_VectorFloat(const RealDescriptor &rdesc)
Converts a RealDescriptor into a std::vector<float>.
Definition: convert.cpp:46
QList< T > Vector_to_QList(const std::vector< T > &v)
Converts a std::vector of something into a QList of the same objects.
Definition: convert.h:91
RealDescriptor VectorFloat_to_RealDescriptor(const std::vector< float > &fvector)
Converts a std::vector<float> into a RealDescriptor.
Definition: convert.cpp:54
Main Gaia namespace, which contains all the library functions.
Definition: addfield.cpp:22
std::vector< std::string > StringDescriptor_to_VectorString(const StringDescriptor &sdesc)
Converts a StringDescriptor into a std::vector<std::string>.
Definition: convert.cpp:62
QStringList VectorString_to_QStringList(const std::vector< std::string > &svector)
Converts a std::vector<std::string> into a QStringList.
Definition: convert.cpp:37
std::string toString(const QString &qstr)
Converts a QString into a std::string.
Definition: convert.cpp:25
std::vector< std::pair< std::string, float > > SearchResults_to_StlTypes(const SearchResults &results)
Converts a gaia2::SearchResults to its STL equivalent (std::vector<std::pair<std::string, float> > >).
Definition: convert.cpp:78
StringDescriptor VectorString_to_StringDescriptor(const std::vector< std::string > &svector)
Converts a std::vector<std::string> into a StringDescriptor.
Definition: convert.cpp:70
std::vector< std::string > QStringList_to_VectorString(const QList< QString > &qlist)
Converts a QStringList into a std::vector<std::string>.
Definition: convert.cpp:29
std::vector< std::pair< float, float > > QPointList_to_VectorPair(const QList< QPointF > &plist)
Converts a QList<PointF> to a std::vector<std::pair<float, float> >.
Definition: convert.cpp:99
QList< QPointF > VectorPair_to_QPointList(const std::vector< std::pair< float, float > > &pvector)
Converts a std::vector<std::pair<float, float> > to a QList<PointF>.
Definition: convert.cpp:89