0bdc803b242315839b6819891c78cc406509a17f
[yaffs-website] / vendor / masterminds / html5 / src / HTML5 / Parser / InputStream.php
1 <?php
2 namespace Masterminds\HTML5\Parser;
3
4 /**
5  * Interface for stream readers.
6  *
7  * The parser only reads from streams. Various input sources can write
8  * an adapater to this InputStream.
9  *
10  * Currently provided InputStream implementations include
11  * FileInputStream and StringInputStream.
12  */
13 interface InputStream extends \Iterator
14 {
15
16     /**
17      * Returns the current line that is being consumed.
18      *
19      * TODO: Move this to the scanner.
20      */
21     public function currentLine();
22
23     /**
24      * Returns the current column of the current line that the tokenizer is at.
25      *
26      * Newlines are column 0. The first char after a newline is column 1.
27      *
28      * @TODO Move this to the scanner.
29      *
30      * @return int The column number.
31      */
32     public function columnOffset();
33
34     /**
35      * Get all characters until EOF.
36      *
37      * This consumes characters until the EOF.
38      */
39     public function remainingChars();
40
41     /**
42      * Read to a particular match (or until $max bytes are consumed).
43      *
44      * This operates on byte sequences, not characters.
45      *
46      * Matches as far as possible until we reach a certain set of bytes
47      * and returns the matched substring.
48      *
49      * @see strcspn
50      * @param string $bytes
51      *            Bytes to match.
52      * @param int $max
53      *            Maximum number of bytes to scan.
54      * @return mixed Index or false if no match is found. You should use strong
55      *         equality when checking the result, since index could be 0.
56      */
57     public function charsUntil($bytes, $max = null);
58
59     /**
60      * Returns the string so long as $bytes matches.
61      *
62      * Matches as far as possible with a certain set of bytes
63      * and returns the matched substring.
64      *
65      * @see strspn
66      * @param string $bytes
67      *            A mask of bytes to match. If ANY byte in this mask matches the
68      *            current char, the pointer advances and the char is part of the
69      *            substring.
70      * @param int $max
71      *            The max number of chars to read.
72      */
73     public function charsWhile($bytes, $max = null);
74
75     /**
76      * Unconsume one character.
77      *
78      * @param int $howMany
79      *            The number of characters to move the pointer back.
80      */
81     public function unconsume($howMany = 1);
82
83     /**
84      * Retrieve the next character without advancing the pointer.
85      */
86     public function peek();
87 }