ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
aslMATLABCasters.h
Go to the documentation of this file.
1/*
2 * Advanced Simulation Library <http://asl.org.il>
3 *
4 * Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5 *
6 *
7 * This file is part of Advanced Simulation Library (ASL).
8 *
9 * ASL is free software: you can redistribute it and/or modify it
10 * under the terms of the GNU Affero General Public License as
11 * published by the Free Software Foundation, version 3 of the License.
12 *
13 * ASL is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with ASL. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23
24#ifndef ASLMATLABCASTERS_H
25#define ASLMATLABCASTERS_H
26
27#include <memory>
28#include <string>
29#include <vector>
30
36namespace acl{
37 class ElementBase;
38 typedef std::shared_ptr<ElementBase> Element;
39}
40
41struct matvar_t;
42namespace asl{
43 template <class T> class AVec;
44}
45
47namespace matiocpp{
48 class Var{
49 private:
50 template <class T> matvar_t* init(T *d, const asl::AVec<int> & size, const std::string &name="");
51 public:
52 matvar_t* var;
54 inline Var(matvar_t* v,bool freeArr=false):var(v){}
55 template <class T> Var(std::vector<T> & d, const std::string &name="");
56 template <class T> Var(T *d, unsigned int size, const std::string &name="",bool freeArr=true);
57 template <class T> Var(T *d, const asl::AVec<int> & size, const std::string &name="",bool freeArr=true);
58// Var(T *matiocpp, const asl::AVec<int> & size, const std::string &name=""); ///!!!
60 };
61}
62
63namespace asl{
64 class Block;
65 class AbstractData;
66 class Probe;
67
70 typedef std::shared_ptr<matiocpp::Var> SPMatVar;
71
72 SPMatVar castMATLABCellArray(acl::Element source, const std::string &name="");
73 SPMatVar castMATLABCellArray(acl::Element source, const AVec<int> & size, const std::string &name="");
74 SPMatVar castMATLABCellArray(const AbstractData & d, const std::vector<std::string> &names=
75 std::vector<std::string>(0));
76 SPMatVar castMATLABCellArray(Probe & p, unsigned int component, const std::string &name="");
78} //namespace acl
79
80
81#endif // ASLMATLABCASTERS_H
Collects point values from the input data.
Definition: aslProbe.h:54
Var(T *d, unsigned int size, const std::string &name="", bool freeArr=true)
Var(T *d, const asl::AVec< int > &size, const std::string &name="", bool freeArr=true)
Var(matvar_t *v, bool freeArr=false)
Var(std::vector< T > &d, const std::string &name="")
matvar_t * var
std::shared_ptr< matiocpp::Var > SPMatVar
SPMatVar castMATLABCellArray(acl::Element source, const std::string &name="")
Advanced Computational Language.
Definition: acl.h:41
std::shared_ptr< ElementBase > Element
Definition: acl.h:49
Advanced Simulation Library.
Definition: aslDataInc.h:31
the matio c++ wrapper