fmatvec  0.0.0
stream.h
1/* Copyright (C) 2003-2005 Martin Förg
2
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 *
17 * Contact:
18 * martin.o.foerg@googlemail.com
19 *
20 */
21
22#ifndef stream_h
23#define stream_h
24
25#include <vector>
26#include "matrix.h"
27#include <iterator>
28#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp>
29#include <boost/spirit/home/karma/nonterminal/nonterminal_fwd.hpp>
30
31namespace boost::spirit {
32 template<typename Elem, typename Traits> class basic_istream_iterator;
34}
35
36namespace fmatvec {
37
38 class SymbolicExpression;
39 class IndependentVariable;
40
41 template<class AT>
42 boost::spirit::qi::rule<boost::spirit::istream_iterator, AT()>& getBoostSpiritQiRule();
43
44 template<class AT>
45 boost::spirit::karma::rule<std::ostream_iterator<char>, AT()>& getBoostSpiritKarmaRule();
46
47 template<> FMATVEC_EXPORT boost::spirit::qi::rule<boost::spirit::istream_iterator, double()>& getBoostSpiritQiRule<double>();
48 template<> FMATVEC_EXPORT boost::spirit::qi::rule<boost::spirit::istream_iterator, int()>& getBoostSpiritQiRule<int>();
49 template<> FMATVEC_EXPORT boost::spirit::qi::rule<boost::spirit::istream_iterator, long()>& getBoostSpiritQiRule<long>();
50 template<> FMATVEC_EXPORT boost::spirit::qi::rule<boost::spirit::istream_iterator, std::complex<double>()>& getBoostSpiritQiRule<std::complex<double>>();
51 template<> FMATVEC_EXPORT boost::spirit::karma::rule<std::ostream_iterator<char>, double()>& getBoostSpiritKarmaRule<double>();
52 template<> FMATVEC_EXPORT boost::spirit::karma::rule<std::ostream_iterator<char>, int()>& getBoostSpiritKarmaRule<int>();
53 template<> FMATVEC_EXPORT boost::spirit::karma::rule<std::ostream_iterator<char>, long()>& getBoostSpiritKarmaRule<long>();
54 template<> FMATVEC_EXPORT boost::spirit::karma::rule<std::ostream_iterator<char>, std::complex<double>()>& getBoostSpiritKarmaRule<std::complex<double>>();
55
63 template<class Type, class Row, class Col, class AT> std::istream& operator>>(std::istream &s, Matrix<Type,Row,Col,AT> &A);
64
72 template<class Type, class Row, class Col, class AT> std::ostream& operator<<(std::ostream &s, const Matrix<Type,Row,Col,AT> &A);
73
75 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Ref ,Ref ,std::complex<double>> &A);
76 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Ref ,Ref ,std::complex<double>> &A);
77 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Ref ,Ref ,int > &A);
78 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Ref ,Ref ,int > &A);
79 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Var ,int > &A);
80 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Var ,int > &A);
81 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<1>,int > &A);
82 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<1>,int > &A);
83 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Rotation ,Fixed<3>,Fixed<3>,double > &A);
84 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Rotation ,Fixed<3>,Fixed<3>,double > &A);
85 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Ref ,Ref ,double > &A);
86 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Ref ,Ref ,double > &A);
87//extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Var ,Var ,double > &A);
88 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Var ,Var ,double > &A);
89 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Fixed<2>,Fixed<2>,double > &A);
90 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Fixed<2>,Fixed<2>,double > &A);
91 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Fixed<3>,Fixed<3>,double > &A);
92 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Fixed<3>,Fixed<3>,double > &A);
93 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Ref ,Ref ,double > &A);
94 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Ref ,Ref ,double > &A);
95 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Var ,double > &A);
96 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Var ,double > &A);
97 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<1>,double > &A);
98 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<1>,double > &A);
99 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<2>,double > &A);
100 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<2>,double > &A);
101 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<3>,double > &A);
102 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<3>,double > &A);
103 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Var ,double > &A);
104 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Var ,double > &A);
105 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Var ,double > &A);
106 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Var ,double > &A);
107 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Var ,double > &A);
108 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Var ,double > &A);
109 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<6>,Var ,double > &A);
110 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<6>,Var ,double > &A);
111 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Fixed<1>,double > &A);
112 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Fixed<1>,double > &A);
113 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Fixed<1>,double > &A);
114 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Fixed<1>,double > &A);
115 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<4>,Fixed<1>,double > &A);
116 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<4>,Fixed<1>,double > &A);
117 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<5>,Fixed<1>,double > &A);
118 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<5>,Fixed<1>,double > &A);
119 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<6>,Fixed<1>,double > &A);
120 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<6>,Fixed<1>,double > &A);
121 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<2>,double > &A);
122 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<2>,double > &A);
123 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<3>,double > &A);
124 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<3>,double > &A);
125 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<4>,double > &A);
126 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<4>,double > &A);
127 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<5>,double > &A);
128 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<5>,double > &A);
129 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<6>,double > &A);
130 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<6>,double > &A);
131 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Fixed<2>,double > &A);
132 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Fixed<2>,double > &A);
133 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Fixed<3>,double > &A);
134 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Fixed<3>,double > &A);
135 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<6>,Fixed<6>,double > &A);
136 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<6>,Fixed<6>,double > &A);
137 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Rotation ,Fixed<3>,Fixed<3>,SymbolicExpression > &A);
138 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Rotation ,Fixed<3>,Fixed<3>,SymbolicExpression > &A);
139 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Ref ,Ref ,SymbolicExpression > &A);
140 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Ref ,Ref ,SymbolicExpression > &A);
141//extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Var ,Var ,SymbolicExpression > &A);
142 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Var ,Var ,SymbolicExpression > &A);
143 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Fixed<2>,Fixed<2>,SymbolicExpression > &A);
144 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Fixed<2>,Fixed<2>,SymbolicExpression > &A);
145 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Symmetric,Fixed<3>,Fixed<3>,SymbolicExpression > &A);
146 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Symmetric,Fixed<3>,Fixed<3>,SymbolicExpression > &A);
147 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Ref ,Ref ,SymbolicExpression > &A);
148 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Ref ,Ref ,SymbolicExpression > &A);
149 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Var ,SymbolicExpression > &A);
150 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Var ,SymbolicExpression > &A);
151 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<1>,SymbolicExpression > &A);
152 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<1>,SymbolicExpression > &A);
153 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<2>,SymbolicExpression > &A);
154 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<2>,SymbolicExpression > &A);
155 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<3>,SymbolicExpression > &A);
156 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<3>,SymbolicExpression > &A);
157 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Var ,SymbolicExpression > &A);
158 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Var ,SymbolicExpression > &A);
159 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Var ,SymbolicExpression > &A);
160 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Var ,SymbolicExpression > &A);
161 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Var ,SymbolicExpression > &A);
162 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Var ,SymbolicExpression > &A);
163 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Fixed<1>,SymbolicExpression > &A);
164 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Fixed<1>,SymbolicExpression > &A);
165 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Fixed<1>,SymbolicExpression > &A);
166 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Fixed<1>,SymbolicExpression > &A);
167 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<4>,Fixed<1>,SymbolicExpression > &A);
168 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<4>,Fixed<1>,SymbolicExpression > &A);
169 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<5>,Fixed<1>,SymbolicExpression > &A);
170 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<5>,Fixed<1>,SymbolicExpression > &A);
171 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<6>,Fixed<1>,SymbolicExpression > &A);
172 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<6>,Fixed<1>,SymbolicExpression > &A);
173 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<2>,SymbolicExpression > &A);
174 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<2>,SymbolicExpression > &A);
175 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<3>,SymbolicExpression > &A);
176 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<3>,SymbolicExpression > &A);
177 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<4>,SymbolicExpression > &A);
178 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<4>,SymbolicExpression > &A);
179 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<5>,SymbolicExpression > &A);
180 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<5>,SymbolicExpression > &A);
181 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<6>,SymbolicExpression > &A);
182 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<6>,SymbolicExpression > &A);
183 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Fixed<2>,SymbolicExpression > &A);
184 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Fixed<2>,SymbolicExpression > &A);
185 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Fixed<3>,SymbolicExpression > &A);
186 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Fixed<3>,SymbolicExpression > &A);
187 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<6>,Fixed<6>,SymbolicExpression > &A);
188 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<6>,Fixed<6>,SymbolicExpression > &A);
189 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Rotation ,Fixed<3>,Fixed<3>,IndependentVariable > &A);
190 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Rotation ,Fixed<3>,Fixed<3>,IndependentVariable > &A);
191 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Ref ,Ref ,IndependentVariable > &A);
192 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Ref ,Ref ,IndependentVariable > &A);
193 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Var ,Fixed<1>,IndependentVariable > &A);
194 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Var ,Fixed<1>,IndependentVariable > &A);
195 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Var ,IndependentVariable > &A);
196 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Var ,IndependentVariable > &A);
197 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<2>,Fixed<1>,IndependentVariable > &A);
198 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<2>,Fixed<1>,IndependentVariable > &A);
199 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<3>,Fixed<1>,IndependentVariable > &A);
200 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<3>,Fixed<1>,IndependentVariable > &A);
201 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<4>,Fixed<1>,IndependentVariable > &A);
202 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<4>,Fixed<1>,IndependentVariable > &A);
203 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<5>,Fixed<1>,IndependentVariable > &A);
204 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<5>,Fixed<1>,IndependentVariable > &A);
205 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<6>,Fixed<1>,IndependentVariable > &A);
206 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<6>,Fixed<1>,IndependentVariable > &A);
207 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<2>,IndependentVariable > &A);
208 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<2>,IndependentVariable > &A);
209 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<3>,IndependentVariable > &A);
210 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<3>,IndependentVariable > &A);
211 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<4>,IndependentVariable > &A);
212 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<4>,IndependentVariable > &A);
213 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<5>,IndependentVariable > &A);
214 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<5>,IndependentVariable > &A);
215 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<General ,Fixed<1>,Fixed<6>,IndependentVariable > &A);
216 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<General ,Fixed<1>,Fixed<6>,IndependentVariable > &A);
217 extern template FMATVEC_EXPORT std::istream & operator>>(std::istream &s, Matrix<Diagonal ,Ref ,Ref ,double > &A);
218 extern template FMATVEC_EXPORT std::ostream & operator<<(std::ostream &s, const Matrix<Diagonal ,Ref ,Ref ,double > &A);
219
220}
221
222#endif
Definition: types.h:108
Shape class for general matrices.
Definition: types.h:116
Definition: ast.h:108
This is the basic matrix class for arbitrary matrices.
Definition: matrix.h:52
Definition: types.h:102
Shape class for rotation matrices.
Definition: types.h:140
Definition: ast.h:38
Shape class for symmetric matrices.
Definition: types.h:132
Definition: types.h:105
Namespace fmatvec.
Definition: _memory.cc:28
ostream & operator<<(ostream &s, const SymbolicExpression &se)
Write a SymbolicExpression to a stream using serialization.
Definition: ast.cc:190