#include <buffered_reader.hh>
|
| | BufferedReader (Reader &r) |
| |
| void | write_all (const char *start, const char *end) |
| |
| char * | read_available (char *start, char *end) |
| |
| char * | read_exactly (char *start, const char *end) |
| |
| char * | peek (char *start, const char *end) |
| |
| template<typename It > |
| std::vector< char > | read_until (It begin_set, It end_set) |
| |
| template<typename It , typename OutIt > |
| OutIt | read_until (It begin_set, It end_set, OutIt dest_start, OutIt dest_end) |
| |
| std::vector< char >::size_type | __buffered_bytes () const |
| |
|
| Reader & | r_ |
| |
| std::vector< char > | buf_ |
| |
◆ BufferedReader()
template<typename Reader >
◆ __buffered_bytes()
template<typename Reader >
A debugging function
- Returns
- Return the number of bytes in the current buffer
◆ consume()
template<typename Reader >
◆ fill_buffer()
template<typename Reader >
◆ peek()
template<typename Reader >
Return the next data (enough to fill [start, end)). No data will be removed from the internal buffer, only added if needed. The data will still be avaialble in the buffered reader for retreival.
- Parameters
-
| start | Start of the destination |
| end | Byte just past the end of the destination |
- Returns
- end
◆ read_available()
template<typename Reader >
A read the data that is currently available. This will only result in a read on the underlying reader if the internal buffer is empty.
- Parameters
-
| start | Start address of the destination |
| end | Address of the byte past the last in the destination |
- Returns
- A pointer in [start, end] that is the next location
◆ read_exactly()
template<typename Reader >
Read exactly enough data to fill the range [start,end)
- Parameters
-
| start | Start of the destination |
| end | Byte just past the end of the destination |
- Returns
- end
◆ read_until() [1/2]
template<typename Reader >
template<typename It >
Read until a value in [begin_set,end_set) is found in the input stream.
- Template Parameters
-
| It | An iterator that dereferences chars |
- Parameters
-
| begin_set | Start of the list of terminators |
| end_set | End of the list of terminators |
- Returns
- A std::vector<char> of the data that was read in, including the terminator that was found.
This will retrieve data from the underlying reader as needed
◆ read_until() [2/2]
template<typename Reader >
template<typename It , typename OutIt >
Read until a value in [begin_set,end_set) is found in the input stream. This will write a bounded amount of data up to [dest_start, dest_end)
- Template Parameters
-
| It | An iterator that dereferences chars |
- Parameters
-
| begin_set | Start of the list of terminators |
| end_set | End of the list of terminators |
| dest_start | Start of the destination |
| dest_end | one past the last destination point |
This will retrieve data from the underlying reader as needed
◆ write_all()
template<typename Reader >
Write data through to the underlying reader object.
- Parameters
-
| start | Bytes to start at |
| end | Address just past the last byte to send |
◆ buf_
template<typename Reader >
◆ r_
template<typename Reader >
The documentation for this class was generated from the following file: