Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GdsParser::GdsDriver Class Reference

High-level wrapper class for GdsReader. Everything is saved in an internal data structure and users only need to provide simple callbacks. More...

#include <GdsDriver.h>

Inheritance diagram for GdsParser::GdsDriver:
GdsParser::GdsDataBase GdsParser::GdsDataBaseKernel

Public Types

typedef GdsDataBase base_type
 
typedef GdsDriverDataBase database_type
 

Public Member Functions

 GdsDriver (database_type &)
 constructor
 
bool operator() (string const &filename)
 Top function for GdsDriver. More...
 

Protected Member Functions

template<typename ContainerType >
void general_cbk (string const &ascii_record_type, string const &ascii_data_type, ContainerType const &vData)
 Generalized callback for all cases. More...
 
required callbacks from GdsDataBase
virtual void bit_array_cbk (const char *ascii_record_type, const char *ascii_data_type, vector< int > const &vBitArray)
 bit array callback More...
 
virtual void integer_2_cbk (const char *ascii_record_type, const char *ascii_data_type, vector< int > const &vInteger)
 2-byte integer callback More...
 
virtual void integer_4_cbk (const char *ascii_record_type, const char *ascii_data_type, vector< int > const &vInteger)
 4-byte integer callback More...
 
virtual void real_4_cbk (const char *ascii_record_type, const char *ascii_data_type, vector< double > const &vFloat)
 4-byte floating point number callback More...
 
virtual void real_8_cbk (const char *ascii_record_type, const char *ascii_data_type, vector< double > const &vFloat)
 8-byte floating point number callback More...
 
virtual void string_cbk (const char *ascii_record_type, const char *ascii_data_type, string const &str)
 string callback More...
 
virtual void begin_end_cbk (const char *ascii_record_type)
 begin or end indicator of a block More...
 

Protected Attributes

database_typem_db
 database type
 
GdsLib m_lib
 when parsed a lib, pass it using add_gds_lib function More...
 
string m_current
 it can be HEADER, LIBRARY, CELL, BOUNDARY, BOX, TEXT, SREF More...
 

Detailed Description

High-level wrapper class for GdsReader. Everything is saved in an internal data structure and users only need to provide simple callbacks.

Definition at line 135 of file GdsDriver.h.

Member Function Documentation

virtual void GdsParser::GdsDriver::begin_end_cbk ( const char *  ascii_record_type)
protectedvirtual

begin or end indicator of a block

Parameters
ascii_record_typerecord

Implements GdsParser::GdsDataBase.

virtual void GdsParser::GdsDriver::bit_array_cbk ( const char *  ascii_record_type,
const char *  ascii_data_type,
vector< int > const &  vBitArray 
)
protectedvirtual

bit array callback

Parameters
ascii_record_typerecord
ascii_data_typedata type
vBitArraydata array

Implements GdsParser::GdsDataBase.

template<typename ContainerType >
void GdsParser::GdsDriver::general_cbk ( string const &  ascii_record_type,
string const &  ascii_data_type,
ContainerType const &  vData 
)
protected

Generalized callback for all cases.

Template Parameters
ContainerTypecontainer type
Parameters
ascii_record_typerecord in ASCII
ascii_data_typedata type in ASCII
vDatadata

Definition at line 177 of file GdsDriver.h.

virtual void GdsParser::GdsDriver::integer_2_cbk ( const char *  ascii_record_type,
const char *  ascii_data_type,
vector< int > const &  vInteger 
)
protectedvirtual

2-byte integer callback

Parameters
ascii_record_typerecord
ascii_data_typedata type
vIntegerdata array

Implements GdsParser::GdsDataBase.

virtual void GdsParser::GdsDriver::integer_4_cbk ( const char *  ascii_record_type,
const char *  ascii_data_type,
vector< int > const &  vInteger 
)
protectedvirtual

4-byte integer callback

Parameters
ascii_record_typerecord
ascii_data_typedata type
vIntegerdata array

Implements GdsParser::GdsDataBase.

bool GdsParser::GdsDriver::operator() ( string const &  filename)

Top function for GdsDriver.

Parameters
filenameGDSII file
virtual void GdsParser::GdsDriver::real_4_cbk ( const char *  ascii_record_type,
const char *  ascii_data_type,
vector< double > const &  vFloat 
)
protectedvirtual

4-byte floating point number callback

Parameters
ascii_record_typerecord
ascii_data_typedata type
vFloatdata array

Implements GdsParser::GdsDataBase.

virtual void GdsParser::GdsDriver::real_8_cbk ( const char *  ascii_record_type,
const char *  ascii_data_type,
vector< double > const &  vFloat 
)
protectedvirtual

8-byte floating point number callback

Parameters
ascii_record_typerecord
ascii_data_typedata type
vFloatdata array

Implements GdsParser::GdsDataBase.

virtual void GdsParser::GdsDriver::string_cbk ( const char *  ascii_record_type,
const char *  ascii_data_type,
string const &  str 
)
protectedvirtual

string callback

Parameters
ascii_record_typerecord
ascii_data_typedata type
strdata

Implements GdsParser::GdsDataBase.

Member Data Documentation

string GdsParser::GdsDriver::m_current
protected

it can be HEADER, LIBRARY, CELL, BOUNDARY, BOX, TEXT, SREF

current block name.

Definition at line 172 of file GdsDriver.h.

GdsLib GdsParser::GdsDriver::m_lib
protected

when parsed a lib, pass it using add_gds_lib function

temporary GdsLib object.

Definition at line 170 of file GdsDriver.h.


The documentation for this class was generated from the following file: