8 #ifndef _GDSPARSER_GDSREADER_H
9 #define _GDSPARSER_GDSREADER_H
88 virtual void bit_array_cbk(
const char* ascii_record_type,
const char* ascii_data_type, vector<int>
const& vBitArray) = 0;
93 virtual void integer_2_cbk(
const char* ascii_record_type,
const char* ascii_data_type, vector<int>
const& vInteger) = 0;
98 virtual void integer_4_cbk(
const char* ascii_record_type,
const char* ascii_data_type, vector<int>
const& vInteger) = 0;
103 virtual void real_4_cbk(
const char* ascii_record_type,
const char* ascii_data_type, vector<double>
const& vFloat) = 0;
108 virtual void real_8_cbk(
const char* ascii_record_type,
const char* ascii_data_type, vector<double>
const& vFloat) = 0;
113 virtual void string_cbk(
const char* ascii_record_type,
const char* ascii_data_type,
string const& str) = 0;
116 virtual void begin_end_cbk(
const char* ascii_record_type) = 0;
185 const char*
gds_read(std::istream& fp,
int& no_read, std::size_t n);
GdsDataBaseKernel & m_db
database
virtual void real_4_cbk(const char *ascii_record_type, const char *ascii_data_type, vector< double > const &vFloat)=0
4-byte floating point number callback
virtual void integer_4_cbk(const char *ascii_record_type, const char *ascii_data_type, vector< int > const &vInteger)=0
4-byte integer callback
virtual void bit_array_cbk(GdsRecords::EnumType record_type, GdsData::EnumType data_type, vector< int > const &vBitArray)=0
bit array callback
enum of GDSII records and data types
virtual void bit_array_cbk(const char *ascii_record_type, const char *ascii_data_type, vector< int > const &vBitArray)=0
bit array callback
EnumType
enum type of data type
virtual void string_cbk(GdsRecords::EnumType record_type, GdsData::EnumType data_type, string const &str)=0
string callback
char * m_bptr
start position in buffer
std::size_t m_blen
current buffer size, from m_bptr to m_buffer+m_bcap
const char * gds_data_ascii(int data_type)
GdsDataBase redirects callbacks of GdsDataBaseKernel to ascii callbacks
virtual void real_4_cbk(GdsRecords::EnumType record_type, GdsData::EnumType data_type, vector< double > const &vFloat)=0
4-byte floating point number callback
virtual void real_8_cbk(GdsRecords::EnumType record_type, GdsData::EnumType data_type, vector< double > const &vFloat)=0
8-byte floating point number callback
bool operator()(const char *filename)
read from file
virtual void integer_2_cbk(const char *ascii_record_type, const char *ascii_data_type, vector< int > const &vInteger)=0
2-byte integer callback
virtual void string_cbk(const char *ascii_record_type, const char *ascii_data_type, string const &str)=0
string callback
GdsReader(GdsDataBaseKernel &db)
constructor
virtual void real_8_cbk(const char *ascii_record_type, const char *ascii_data_type, vector< double > const &vFloat)=0
8-byte floating point number callback
void find_data_type(int numeric, GdsData::EnumType &data_name)
find data type
namespace for Limbo.GdsParser
virtual void integer_2_cbk(GdsRecords::EnumType record_type, GdsData::EnumType data_type, vector< int > const &vInteger)=0
2-byte integer callback
char * m_buffer
buffer for reading file
Kernel callbacks for GdsReader. These callbacks use enum for record_type and data_type, which is faster than ascii callbacks.
const char * gds_record_ascii(int record_type)
virtual void begin_end_cbk(const char *ascii_record_type)=0
begin or end indicator of a block
void find_record_type(int numeric, GdsRecords::EnumType &record_name, int &expected_data_type)
find record
Check string is integer, floating point, number... Convert string to upper/lower cases.
EnumType
enum type of GDSII records
virtual void integer_4_cbk(GdsRecords::EnumType record_type, GdsData::EnumType data_type, vector< int > const &vInteger)=0
4-byte integer callback
std::size_t m_bcap
buffer capacity
void print_bit_array_comments(GdsRecords::EnumType enum_record_type, int bit_array, int indent_amount)
print comments
virtual void begin_end_cbk(GdsRecords::EnumType record_type)=0
begin or end indicator of a block
const char * gds_read(std::istream &fp, int &no_read, std::size_t n)
bool read(GdsDriverDataBase &db, string const &filename)
API function for GdsDriver.