2 // Copyright (c) 1997, 1998 Etienne BERNARD
3 // Copyright (c) 2002,2005,2008 Clinton Ebadi
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
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.
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
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
37 std::string get_nick (std::string);
38 std::string get_userhost (std::string);
39 std::string get_key();
41 int get_level (Bot *, std::string);
42 int get_level (Bot *, std::string, std::string);
44 std::string make_wildcard (std::string);
47 bool channel_p (std::string);
48 bool wildcard_p (std::string);
49 bool valid_channel_name_p (std::string);
50 bool valid_nickname_p (const Bot *, std::string);
51 bool IP_p (std::string);
53 std::string level2str (int);
54 std::string prot2str (int);
55 std::string bool2str (bool);
56 std::string long2str (long);
58 std::time_t str2time(std::string);
60 // string case conversion
61 std::string to_lower (std::string);
62 std::string to_upper (std::string);
64 std::string trim_str (std::string);
67 std::string scm2str (SCM);
68 SCM str2scm (std::string);
71 // Class to compare *i1 / *i2 in heaps etc.
72 template<typename T, typename C> class IndirectPred
76 bool operator() (const T * i1, const T * i2) const
77 { return compare (*i1, *i2); }
79 typedef T* first_argument_type;
80 typedef T* second_argument_type;
81 typedef bool result_type;