new 33c0e9569b8825f53d773343cc90e4377118edca
[tagua/yd.git] / src / core / poolcollection.h
blob8018dff06bddbc50e88bfe2030dadeebd6fdbf10
1 /*
2 Copyright (c) 2007 Paolo Capriotti <p.capriotti@gmail.com>
3 (c) 2007 Maurizio Monge <maurizio.monge@kdemail.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 */
11 #ifndef CORE__POOL_COLLECTION_H
12 #define CORE__POOL_COLLECTION_H
14 class IColor;
15 class IPool;
17 /**
18 * @brief An association player -> pool.
20 class IPoolCollection {
21 public:
22 virtual ~IPoolCollection();
24 virtual IPoolCollection* clone() const = 0;
26 /**
27 * @return Whether two pool collections are equal.
29 virtual bool equals(const IPoolCollection* other) const = 0;
31 /**
32 * @return The pool of the given player.
34 virtual IPool* pool(const IColor* player) = 0;
35 virtual const IPool* pool(const IColor* player) const = 0;
38 #endif // CORE__POOL_COLLECTION_H