Root/src/utilities.h

1/***************************************************************************
2 * Copyright (C) 2006 by Massimiliano Torromeo *
3 * massimiliano.torromeo@gmail.com *
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 *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
20
21#ifndef UTILITIES_H
22#define UTILITIES_H
23
24#include <string>
25#include <vector>
26#include <tr1/unordered_map>
27
28using std::tr1::unordered_map;
29using std::tr1::hash;
30using std::string;
31using std::vector;
32
33class case_less {
34public:
35    bool operator()(const string &left, const string &right) const;
36};
37
38string trim(const string& s);
39string strreplace (string orig, const string &search, const string &replace);
40string cmdclean (string cmdline);
41
42char *string_copy(const string &);
43void string_copy(const string &, char **);
44
45bool fileExists(const string &file);
46bool rmtree(string path);
47
48int max (int a, int b);
49int min (int a, int b);
50int constrain (int x, int imin, int imax);
51
52int evalIntConf (int val, int def, int imin, int imax);
53int evalIntConf (int *val, int def, int imin, int imax);
54const string &evalStrConf (const string &val, const string &def);
55const string &evalStrConf (string *val, const string &def);
56
57bool split (vector<string> &vec, const string &str, const string &delim, bool destructive=true);
58
59int intTransition(int from, int to, long int tickStart, long duration=500, long tickNow=-1);
60
61#endif
62

Archive Download this file



interactive