Initial commit, includes Lua with broken Luabind as a backup for branching purposes
[terrastrategy.git] / include / stdtypes.h
blob4120bf4f904c1cd1b9852db76a43a26ed9da8163
1 //
2 // Copyright (C) 2007 by Martin Moracek
3 //
4 // This program is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 /**
20 * @file stdtypes.h
22 * Header file containing definitions of specialized templated data types.
25 #pragma once
27 #include <vector>
28 #include <string>
30 #include "types.h"
31 #include "math/vector.h"
32 #include "math/matrix.h"
35 * Common vector typedefs
38 typedef std::vector<bool> BitVector;
39 typedef std::vector<byte> ByteVector;
41 typedef std::vector<int> IntVector;
42 typedef std::vector<tre::Vector2i> Int2Vector;
43 typedef std::vector<tre::Vector3i> Int3Vector;
44 typedef std::vector<tre::Vector4i> Int4Vector;
46 typedef std::vector<uint> UIntVector;
47 typedef std::vector<tre::Vector2u> UInt2Vector;
48 typedef std::vector<tre::Vector3u> UInt3Vector;
49 typedef std::vector<tre::Vector4u> UInt4Vector;
51 typedef std::vector<float> FloatVector;
52 typedef std::vector<tre::Vector2f> Float2Vector;
53 typedef std::vector<tre::Vector3f> Float3Vector;
54 typedef std::vector<tre::Vector4f> Float4Vector;
56 typedef std::vector<std::string> StrVector;
58 typedef std::vector<tre::Matrix4x4f> Mat4Vector;