]> git.mxchange.org Git - simgear.git/blob - Misc/strutils.hxx
MSVC++ portability changes by Bernie Bright:
[simgear.git] / Misc / strutils.hxx
1 // String utilities.
2 //
3 // Written by Bernie Bright, 1998
4 //
5 // Copyright (C) 1998  Bernie Bright - bbright@c031.aone.net.au
6 //
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License as
9 // published by the Free Software Foundation; either version 2 of the
10 // License, or (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 // 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., 675 Mass Ave, Cambridge, MA 02139, USA.
20 //
21 // $Id$
22 // (Log is kept at end of this file)
23
24 #ifndef STRUTILS_H
25 #define STRUTILS_H
26
27 #include <string>
28 #include "Include/compiler.h"
29
30 #ifdef FG_HAVE_STD_INCLUDES
31 #  include <cstdlib>
32 #else
33 #  include <stdlib.h>
34 #endif
35
36 FG_USING_STD(string);
37
38 // Default characters to remove.
39 extern const string whitespace;
40
41 // Returns a string with trailing characters removed.
42 string trimleft( const string& s, const string& trimmings = whitespace );
43
44 // Returns a string with leading characters removed.
45 string trimright( const string& s, const string& trimmings = whitespace );
46
47 // Returns a string with leading and trailing characters removed.
48 string trim( const string& s, const string& trimmings = whitespace );
49
50 //-----------------------------------------------------------------------------
51
52 inline double
53 atof( const string& str )
54 {
55     return ::atof( str.c_str() );
56 }
57
58 inline int
59 atoi( const string& str )
60 {
61     return ::atoi( str.c_str() );
62 }
63
64 #endif // STRUTILS_H
65
66 // $Log$
67 // Revision 1.4  1999/01/19 20:41:47  curt
68 // Portability updates contributed by Bernie Bright.
69 //
70 // Revision 1.3  1998/10/16 00:50:57  curt
71 // Remove leading _ from a couple defines.
72 //
73 // Revision 1.2  1998/10/13 00:10:07  curt
74 // More portability changes to help with windoze compilation problems.
75 //
76 // Revision 1.1  1998/09/01 19:06:31  curt
77 // Initial revision.
78 //