Improve include dependencies
[clinton/bobotpp.git] / source / TodoList.H
CommitLineData
cb21075d 1// TodoList.H -*- C++ -*-
2// Copyright (c) 1998 Etienne BERNARD
3// Copyright (c) 2002 Clinton Ebadi
4
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
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
39b022cb 17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
cb21075d 18
19#ifndef TODOLIST_H
20#define TODOLIST_H
21
cfa82921 22#include <functional>
cb21075d 23#include <set>
cfa82921 24
cb21075d 25#include <ctime>
cb21075d 26
27#include "String.H"
28
29class TodoList;
30
31class TodoListItem {
32 String line;
33 std::time_t when;
34public:
35 TodoListItem(String l, std::time_t w)
36 : line(l), when(w) { }
37
38 bool operator<(const TodoListItem &t) const
39 { return when < t.when; }
40
41 friend class TodoList;
42};
43
44class TodoList {
45
46 std::multiset<TodoListItem, std::less<TodoListItem> > todoQueue;
47
48public:
49 TodoList();
50 ~TodoList();
51
52 void addDeban(String, String, std::time_t);
53
54 String getNext();
55};
56
57#endif