ThePEG  1.8.0
StringUtils.h
1 // -*- C++ -*-
2 //
3 // StringUtils.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_StringUtils_H
10 #define ThePEG_StringUtils_H
11 // This is the declaration of the StringUtils class.
12 
13 #include "ThePEG/Config/ThePEG.h"
14 
15 namespace ThePEG {
16 
21 class StringUtils {
22 
23 public:
24 
28  typedef vector<string> StringVector;
29 
35  static StringVector split(string s, string ws = " \t\r\n");
36 
42  static string car(string s, string ws = " \t\r\n");
43 
49  static string cdr(string s, string ws = " \t\r\n");
50 
55  static string stripws(string str);
56 
62  static string dirname(string file);
63 
68  static string basename(string file);
69 
73  static string remsuf(string file);
74 
79  static string suffix(string file);
80 
87  static map<string,string> xmlAttributes(string tag, string line,
88  string::size_type curr = 0);
89 
94  static string typeName(const type_info & t);
95 
99  typedef string::size_type pos_t;
100 
104  static const pos_t end = string::npos;
105 
106 
107 };
108 
109 }
110 
111 #endif /* ThePEG_StringUtils_H */
static string cdr(string s, string ws=" \\)
Return s after removing the first substring, defined by the separating characters in ws (the ws chara...
static StringVector split(string s, string ws=" \\)
Return a vector of string containing the substrings of s, defined by the separating characters in ws ...
static string basename(string file)
Return the base name of the given filename, removing the directory path if present.
static string car(string s, string ws=" \\)
Return the first substring of s, defined by the separating characters in ws (the ws characters are no...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
The StringUtils class contains a few static utility functions for basic strings.
Definition: StringUtils.h:21
static string stripws(string str)
Return the string str stripped from leading and trailing white space.
static string typeName(const type_info &t)
Try to return a human-readable class name given a type_info object.
static const pos_t end
Convenient alias for npos.
Definition: StringUtils.h:104
string::size_type pos_t
Convenient typdef.
Definition: StringUtils.h:99
static string suffix(string file)
Return the trailing suffix (without the dot) of the given filename.
static map< string, string > xmlAttributes(string tag, string line, string::size_type curr=0)
Assuming the line contains a valid XML tag, scan the line for attributes belonging to this tag and re...
static string dirname(string file)
Return the directory path part (excluding the trailing slash) of the given filename, or an empty string if no directory path is included.
vector< string > StringVector
A vector of strings.
Definition: StringUtils.h:28
static string remsuf(string file)
Remove the trailing suffix from the given filename.