#include <Read_Buffer.h>
Collaboration diagram for ACE_Read_Buffer:

Public Methods | |
| ACE_Read_Buffer (FILE *fp, int close_on_delete = 0, ACE_Allocator * = 0) | |
| Read from a FILE *. | |
| ACE_Read_Buffer (ACE_HANDLE handle, int close_on_delete = 0, ACE_Allocator * = 0) | |
| Read from an open HANDLE. | |
| ~ACE_Read_Buffer (void) | |
| Closes the FILE *. | |
| char* | read (int terminator = EOF, int search = '\n', int replace = '\0') |
| size_t | replaced (void) const |
| Returns the number of characters replaced during a <read>. | |
| size_t | size (void) const |
| Returns the size of the allocated buffer obtained during a <read>, not including the null terminator. | |
| ACE_Allocator* | alloc (void) const |
| Returns a pointer to its allocator. | |
| void | dump (void) const |
| Dump the state of the object. | |
Private Methods | |
| char* | rec_read (int term, int search, int replace) |
| Recursive helper method that does the work... | |
| void | operator= (const ACE_Read_Buffer &) |
| ACE_Read_Buffer (const ACE_Read_Buffer &) | |
Private Attributes | |
| size_t | size_ |
| The total number of characters in the buffer. | |
| size_t | occurrences_ |
| The total number of characters replaced. | |
| FILE* | stream_ |
| The stream we are reading from. | |
| int | close_on_delete_ |
| Keeps track of whether we should close the FILE in the destructor. | |
| ACE_Allocator* | allocator_ |
| Pointer to the allocator. | |
This implementation is optimized to do a single dynamic allocation and make only one copy of the data. It uses recursion and the run-time stack to accomplish this efficiently.
|
|
Read from a FILE *.
|
|
|
Read from an open HANDLE.
|
|
|
Closes the FILE *.
|
|
|
|
|
|
Returns a pointer to its allocator.
|
|
|
Dump the state of the object.
|
|
|
|
|
|
Returns a pointer dynamically allocated with to data from the input stream up to (and including) the <terminator>. If <search> is >= 0 then all occurrences of the <search> value are substituted with the <replace> value. The last of the byte of data is a 0, so that <strlen> can be used on it. The caller is responsible for freeing the pointer returned from this method using the . |
|
|
Recursive helper method that does the work...
|
|
|
Returns the number of characters replaced during a <read>.
|
|
|
Returns the size of the allocated buffer obtained during a <read>, not including the null terminator.
|
|
|
Pointer to the allocator.
|
|
|
Keeps track of whether we should close the FILE in the destructor.
|
|
|
The total number of characters replaced.
|
|
|
The total number of characters in the buffer.
|
|
|
The stream we are reading from.
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000