ClickHouse/dbms/src/Parsers/StringRange.h

32 lines
660 B
C++
Raw Normal View History

2014-04-08 06:51:53 +00:00
#pragma once
2010-06-24 19:12:10 +00:00
#include <Core/Types.h>
#include <Parsers/TokenIterator.h>
2010-06-24 19:12:10 +00:00
#include <map>
#include <memory>
2010-06-24 19:12:10 +00:00
namespace DB
{
struct StringRange
{
const char * first;
const char * second;
StringRange() {}
StringRange(const char * begin, const char * end) : first(begin), second(end) {}
StringRange(TokenIterator token_begin, TokenIterator token_end) : first(token_begin->begin), second(token_end->begin) {}
StringRange(TokenIterator token) : first(token->begin), second(token->end) {}
};
using StringPtr = std::shared_ptr<String>;
2010-06-24 19:12:10 +00:00
inline String toString(const StringRange & range)
{
return String(range.first, range.second);
}
2010-06-24 19:12:10 +00:00
}