ManaPlus
position.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2008-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef POSITION_H
25 #define POSITION_H
26 
27 #include <iostream>
28 #include <list>
29 
30 #include "localconsts.h"
31 
36 {
37  Position(const int x0,
38  const int y0) :
39  x(x0),
40  y(y0)
41  { }
42 
44 
45  int x;
46  int y;
47 };
48 
49 typedef std::list<Position> Path;
50 typedef Path::iterator PathIterator;
51 typedef Path::reverse_iterator PathRIterator;
52 
56 std::ostream& operator <<(std::ostream &os, const Position &p);
57 
62 std::ostream& operator <<(std::ostream &os, const Path &path);
63 
64 #endif // POSITION_H
#define final
Definition: localconsts.h:46
#define A_DEFAULT_COPY(func)
Definition: localconsts.h:41
Path::reverse_iterator PathRIterator
Definition: position.h:51
std::list< Position > Path
Definition: position.h:49
Path::iterator PathIterator
Definition: position.h:50
int y
Definition: position.h:46
Position(const int x0, const int y0)
Definition: position.h:37
int x
Definition: position.h:45