Used internally by NEDParser. More...
#include <nedfilebuffer.h>
Public Member Functions | |
NEDFileBuffer () | |
~NEDFileBuffer () | |
bool | readFile (const char *filename) |
bool | setData (const char *data) |
const char * | get (YYLTYPE pos) |
const char * | getFileComment () |
const char * | getBannerComment (YYLTYPE pos) |
const char * | getTrailingComment (YYLTYPE pos) |
const char * | getNextInnerComment (YYLTYPE &pos) |
YYLTYPE | getFullTextPos () |
const char * | getFullText () |
void | trimSpaceAndComments (YYLTYPE &pos) |
Used internally by NEDParser.
Stores the full text of a NED file, and makes it possible to retrieve parts of it by (line1,col1,line2,col2) coordinates passed in an YYLTYPE structure. Also finds and retrieves comments near a position passed in an YYLTYPE.
NEDFileBuffer::NEDFileBuffer | ( | ) |
Constructor.
NEDFileBuffer::~NEDFileBuffer | ( | ) |
Destructor.
const char* NEDFileBuffer::get | ( | YYLTYPE | pos | ) |
Returns pointer to a text region defined by (beg-line, beg-col) and (end-line, end-col).
The text is NOT copied, only a null character is written temporarily into the stored string at (end-line, end-col) -- this also means you should NOT keep more than one pointer returned by get()!
const char* NEDFileBuffer::getBannerComment | ( | YYLTYPE | pos | ) |
Returns banner comment above text range passed in pos.
Uses get()!
const char* NEDFileBuffer::getFileComment | ( | ) |
Returns comment at top of file.
Uses get()!
const char* NEDFileBuffer::getFullText | ( | ) |
Returns pointer to the full source code.
Uses get()!
YYLTYPE NEDFileBuffer::getFullTextPos | ( | ) |
Returns 1:0...end.
const char* NEDFileBuffer::getNextInnerComment | ( | YYLTYPE & | pos | ) |
Returns the next comment inside the given region, and moves the region's start past the comment.
Uses get()!
const char* NEDFileBuffer::getTrailingComment | ( | YYLTYPE | pos | ) |
Returns trailing comment below text range passed in pos.
Uses get()!
bool NEDFileBuffer::readFile | ( | const char * | filename | ) |
Reads NED file given with its filename.
bool NEDFileBuffer::setData | ( | const char * | data | ) |
Uses literal NED text.
void NEDFileBuffer::trimSpaceAndComments | ( | YYLTYPE & | pos | ) |
Shrinks the given region to exclude any leading/trailing whitespace and comments.