00001 // 00002 // Copyright (C) CERN, Geneva 00003 // 00004 // header file for class SimpleTokenizer 00005 // Created by: Andreas PFEIFFER at Thu Apr 15 17:30:48 1999 00006 // 00007 // Last update: 00008 // 00009 // 00010 00011 #ifndef INCLUDED_SIMPLETOKENIZER_H 00012 #define INCLUDED_SIMPLETOKENIZER_H 00013 00014 #include <string> 00015 #include <vector> 00016 00017 #ifdef AIDA_STD 00018 # undef AIDA_STD 00019 #endif 00020 00021 #ifdef AIDA_DONT_USE_STD 00022 # define AIDA_STD 00023 #else 00024 # define AIDA_STD std 00025 #endif 00026 00027 typedef AIDA_STD::string String; 00028 00037 class SimpleTokenizer { 00038 00039 public: 00041 SimpleTokenizer(String delim=" ", String term="\n\0"); 00043 virtual ~SimpleTokenizer(); 00044 private: 00045 // inhibit use of these 00046 SimpleTokenizer(const SimpleTokenizer &); 00047 SimpleTokenizer & operator = (const SimpleTokenizer &); 00048 public: 00050 void setDelimiters (String str) { delimiters = str; } 00052 void setTerminators(String str) { terminators = str; } 00054 AIDA_STD::vector<String > tokenize(String) const; 00055 private: // private attributes 00056 String delimiters; 00057 String terminators; 00058 }; 00059 00060 #endif /* INCLUDED_SIMPLETOKENIZER_H */