diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
commit | 2d37894b1b037cf24231090eda8589bbb44fb6fc (patch) | |
tree | be835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h | |
parent | 718c552901d703c502ccbefdfc3c9028d608b947 (diff) | |
download | ydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h')
-rw-r--r-- | contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h | 194 |
1 files changed, 97 insertions, 97 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h b/contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h index 47c6f7a141..3c5b696410 100644 --- a/contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h +++ b/contrib/libs/poco/Foundation/include/Poco/StreamTokenizer.h @@ -1,97 +1,97 @@ -// -// StreamTokenizer.h -// -// Library: Foundation -// Package: Streams -// Module: StreamTokenizer -// -// Definition of the StreamTokenizer class. -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_StreamTokenizer_INCLUDED -#define Foundation_StreamTokenizer_INCLUDED - - -#include "Poco/Foundation.h" -#include "Poco/Token.h" -#include <istream> -#include <vector> - - -namespace Poco { - - -class Foundation_API StreamTokenizer - /// A stream tokenizer splits an input stream - /// into a sequence of tokens of different kinds. - /// Various token kinds can be registered with - /// the tokenizer. -{ -public: - StreamTokenizer(); - /// Creates a StreamTokenizer with no attached stream. - - StreamTokenizer(std::istream& istr); - /// Creates a StreamTokenizer with no attached stream. - - virtual ~StreamTokenizer(); - /// Destroys the StreamTokenizer and deletes all - /// registered tokens. - - void attachToStream(std::istream& istr); - /// Attaches the tokenizer to an input stream. - - void addToken(Token* pToken); - /// Adds a token class to the tokenizer. The - /// tokenizer takes ownership of the token and - /// deletes it when no longer needed. Comment - /// and whitespace tokens will be marked as - /// ignorable, which means that next() will not - /// return them. - - void addToken(Token* pToken, bool ignore); - /// Adds a token class to the tokenizer. The - /// tokenizer takes ownership of the token and - /// deletes it when no longer needed. - /// If ignore is true, the token will be marked - /// as ignorable, which means that next() will - /// not return it. - - const Token* next(); - /// Extracts the next token from the input stream. - /// Returns a pointer to an EOFToken if there are - /// no more characters to read. - /// Returns a pointer to an InvalidToken if an - /// invalid character is encountered. - /// If a token is marked as ignorable, it will not - /// be returned, and the next token will be - /// examined. - /// Never returns a NULL pointer. - /// You must not delete the token returned by next(). - -private: - struct TokenInfo - { - Token* pToken; - bool ignore; - }; - - typedef std::vector<TokenInfo> TokenVec; - - TokenVec _tokens; - std::istream* _pIstr; - InvalidToken _invalidToken; - EOFToken _eofToken; -}; - - -} // namespace Poco - - -#endif // Foundation_StreamTokenizer_INCLUDED +// +// StreamTokenizer.h +// +// Library: Foundation +// Package: Streams +// Module: StreamTokenizer +// +// Definition of the StreamTokenizer class. +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_StreamTokenizer_INCLUDED +#define Foundation_StreamTokenizer_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/Token.h" +#include <istream> +#include <vector> + + +namespace Poco { + + +class Foundation_API StreamTokenizer + /// A stream tokenizer splits an input stream + /// into a sequence of tokens of different kinds. + /// Various token kinds can be registered with + /// the tokenizer. +{ +public: + StreamTokenizer(); + /// Creates a StreamTokenizer with no attached stream. + + StreamTokenizer(std::istream& istr); + /// Creates a StreamTokenizer with no attached stream. + + virtual ~StreamTokenizer(); + /// Destroys the StreamTokenizer and deletes all + /// registered tokens. + + void attachToStream(std::istream& istr); + /// Attaches the tokenizer to an input stream. + + void addToken(Token* pToken); + /// Adds a token class to the tokenizer. The + /// tokenizer takes ownership of the token and + /// deletes it when no longer needed. Comment + /// and whitespace tokens will be marked as + /// ignorable, which means that next() will not + /// return them. + + void addToken(Token* pToken, bool ignore); + /// Adds a token class to the tokenizer. The + /// tokenizer takes ownership of the token and + /// deletes it when no longer needed. + /// If ignore is true, the token will be marked + /// as ignorable, which means that next() will + /// not return it. + + const Token* next(); + /// Extracts the next token from the input stream. + /// Returns a pointer to an EOFToken if there are + /// no more characters to read. + /// Returns a pointer to an InvalidToken if an + /// invalid character is encountered. + /// If a token is marked as ignorable, it will not + /// be returned, and the next token will be + /// examined. + /// Never returns a NULL pointer. + /// You must not delete the token returned by next(). + +private: + struct TokenInfo + { + Token* pToken; + bool ignore; + }; + + typedef std::vector<TokenInfo> TokenVec; + + TokenVec _tokens; + std::istream* _pIstr; + InvalidToken _invalidToken; + EOFToken _eofToken; +}; + + +} // namespace Poco + + +#endif // Foundation_StreamTokenizer_INCLUDED |