1
/*
2
 *  The Mana World
3
 *  Copyright (C) 2008  The Mana World Development Team
4
 *
5
 *  This file is part of The Mana World.
6
 *
7
 *  This program is free software; you can redistribute it and/or modify
8
 *  it under the terms of the GNU General Public License as published by
9
 *  the Free Software Foundation; either version 2 of the License, or
10
 *  any later version.
11
 *
12
 *  This program is distributed in the hope that it will be useful,
13
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 *  GNU General Public License for more details.
16
 *
17
 *  You should have received a copy of the GNU General Public License
18
 *  along with this program; if not, write to the Free Software
19
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20
 */
21
22
#ifndef POSITION_H
23
#define POSITION_H
24
25
#include <list>
26
#include <iostream>
27
28
/**
29
 * A position along a being's path.
30
 */
31
struct Position
32
{
33
    Position(int x, int y):
34
        x(x), y(y)
35
    { }
36
37
    int x;
38
    int y;
39
};
40
41
typedef std::list<Position> Path;
42
typedef Path::iterator PathIterator;
43
44
/**
45
 * Appends a string representation of a position to the output stream.
46
 */
47
std::ostream& operator <<(std::ostream &os, const Position &p);
48
49
/**
50
 * Appends a string representation of a path (sequence of positions) to the
51
 * output stream.
52
 */
53
std::ostream& operator <<(std::ostream &os, const Path &path);
54
55
#endif // POSITION_H