13 #ifndef KERNEL_TOKENIZER_H
14 #define KERNEL_TOKENIZER_H
16 #ifndef KERNEL_TOKENIZER_CPP
17 #warning GaudiKernel/Tokenizer.h is deprecated, see GAUDI-1024 \
18 consider alternative methods like GaudiKernel/AttribStringParser.h or \
23 #include "GaudiKernel/Kernel.h"
43 Token(
const Token& copy) : m_length(copy.m_length), m_tag(copy.m_tag), m_value(copy.m_value) {
46 Token() : m_length(0) {
49 void make(
const std::string&
s,
long st,
const char* delim,
const char* tagBegin,
const char* tagEnd,
const char* eq,
const char* valBegin,
const char* valEnd);
54 Token& operator=(
const Token& copy);
57 return m_tag == copy.m_tag && m_value == copy.m_value && m_length == copy.m_length;
64 const std::string& tag()
const {
68 const std::string&
value()
const {
75 typedef std::vector<Token> Items;
85 Tokenizer(
bool resolve) : m_resolve(resolve) {}
88 m_tokens.erase(m_tokens.begin(), m_tokens.end());
91 void analyse(
const std::string&
s,
const char* delim,
const char* tagBegin,
const char* tagEnd,
const char* eq,
const char* valBegin,
const char* valEnd);
93 void analyse(
const std::string&
s,
const char* delim,
const char* tag,
const char* eq,
const char* val) {
94 analyse(s, delim, tag, tag, eq, val, val);
97 void analyse(
const std::string&
s,
const char* delim,
const char* eq,
const char* val) {
98 analyse(s, delim,
"",
"", eq, val, val);
101 void analyse(
const std::string&
s,
const char* delim=
" ",
const char* eq=
"=") {
102 analyse(s, delim,
"",
"", eq,
"",
"");
109 const Items& items()
const {
113 #endif // KERNEL_TOKENIZER_H
bool operator==(const GaudiUtils::Allocator< T1 > &, const GaudiUtils::Allocator< T2 > &)