OpenMD 3.0
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
CharBuffer.hpp
1#ifndef INC_CharBuffer_hpp__
2#define INC_CharBuffer_hpp__
3
4/* ANTLR Translator Generator
5 * Project led by Terence Parr at http://www.jGuru.com
6 * Software rights: http://www.antlr.org/license.html
7 *
8 * $Id$
9 */
10
11#include <antlr/config.hpp>
12
13#include <istream>
14
15#include <antlr/InputBuffer.hpp>
16
17#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
18namespace antlr {
19#endif
20
21/**A Stream of characters fed to the lexer from a InputStream that can
22 * be rewound via mark()/rewind() methods.
23 * <p>
24 * A dynamic array is used to buffer up all the input characters. Normally,
25 * "k" characters are stored in the buffer. More characters may be stored
26 * during guess mode (testing syntactic predicate), or when LT(i>k) is
27 * referenced.
28 * Consumption of characters is deferred. In other words, reading the next
29 * character is not done by consume(), but deferred until needed by LA or LT.
30 * <p>
31 *
32 * @see antlr.CharQueue
33 */
34
35class ANTLR_API CharBuffer : public InputBuffer {
36public:
37 /// Create a character buffer
38 CharBuffer( ANTLR_USE_NAMESPACE(std)istream& input );
39 /// Get the next character from the stream
40 int getChar();
41
42protected:
43
44private:
45 // character source
46 ANTLR_USE_NAMESPACE(std)istream& input;
47
48 // NOTE: Unimplemented
49 CharBuffer(const CharBuffer& other);
50 CharBuffer& operator=(const CharBuffer& other);
51};
52
53#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
54}
55#endif
56
57#endif //INC_CharBuffer_hpp__
A Stream of characters fed to the lexer from a InputStream that can be rewound via mark()/rewind() me...
A Stream of characters fed to the lexer from a InputStream that can be rewound via mark()/rewind() me...