Packages
sippet
1.0.5
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
An Elixir Session Initiation Protocol (SIP) stack.
Current section
Files
Jump to
Current section
Files
c_src/tokenizer.h
// Copyright (c) 2013 The Sippet Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TOKENIZER_H_
#define TOKENIZER_H_
#include <string>
#include "string_piece.h"
class Tokenizer {
public:
Tokenizer(std::string::const_iterator string_begin,
std::string::const_iterator string_end);
~Tokenizer();
std::string::const_iterator Skip(const StringPiece& chars) {
for (; current_ != end_; ++current_) {
if (chars.find(*current_) == std::string::npos)
break;
}
return current_;
}
std::string::const_iterator SkipNotIn(const StringPiece& chars) {
for (; current_ != end_; ++current_) {
if (chars.find(*current_) != std::string::npos)
break;
}
return current_;
}
std::string::const_iterator SkipTo(char c) {
for (; current_ != end_; ++current_) {
if (c == *current_)
break;
}
return current_;
}
std::string::const_iterator Skip() {
if (current_ != end_)
++current_;
return current_;
}
std::string::const_iterator Skip(int n) {
for (; current_ != end_ && n > 0; --n)
++current_;
return current_;
}
bool EndOfInput() const {
return current_ == end_;
}
std::string::const_iterator current() const { return current_; }
void set_current(std::string::const_iterator current) {
current_ = current;
}
std::string::const_iterator end() const { return end_; }
void set_end(std::string::const_iterator end) {
end_ = end;
}
private:
std::string::const_iterator current_;
std::string::const_iterator end_;
};
#endif // TOKENIZER_H_