Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
CoinMpsCardReader Class Reference

Very simple code for reading MPS data. More...

#include <CoinMpsIO.hpp>

+ Collaboration diagram for CoinMpsCardReader:

Public Member Functions

Constructor and destructor
 CoinMpsCardReader (CoinFileInput *input, CoinMpsIO *reader)
 Constructor expects file to be open This one takes gzFile if fp null. More...
 
 ~CoinMpsCardReader ()
 Destructor. More...
 
card stuff
COINSectionType readToNextSection ()
 Read to next section. More...
 
COINSectionType nextField ()
 Gets next field and returns section type e.g. COIN_COLUMN_SECTION. More...
 
int nextGmsField (int expectedType)
 Gets next field for .gms file and returns type. More...
 
COINSectionType whichSection () const
 Returns current section type. More...
 
void setWhichSection (COINSectionType section)
 Sets current section type. More...
 
bool freeFormat () const
 Sees if free format. More...
 
void setFreeFormat (bool yesNo)
 Sets whether free format. Mainly for blank RHS etc. More...
 
COINMpsType mpsType () const
 Only for first field on card otherwise BLANK_COLUMN e.g. More...
 
int cleanCard ()
 Reads and cleans card - taking out trailing blanks - return 1 if EOF. More...
 
const char * rowName () const
 Returns row name of current field. More...
 
const char * columnName () const
 Returns column name of current field. More...
 
double value () const
 Returns value in current field. More...
 
const char * valueString () const
 Returns value as string in current field. More...
 
const char * card () const
 Whole card (for printing) More...
 
char * mutableCard ()
 Whole card - so we look at it (not const so nextBlankOr will work for gms reader) More...
 
void setPosition (char *position)
 set position (again so gms reader will work) More...
 
char * getPosition () const
 get position (again so gms reader will work) More...
 
CoinBigIndex cardNumber () const
 Returns card number. More...
 
CoinFileInputfileInput () const
 Returns file input. More...
 
void setStringsAllowed ()
 Sets whether strings allowed. More...
 

Protected Attributes

data
double value_
 Current value. More...
 
char card_ [MAX_CARD_LENGTH]
 Current card image. More...
 
char * position_
 Current position within card image. More...
 
char * eol_
 End of card. More...
 
COINMpsType mpsType_
 Current COINMpsType. More...
 
char rowName_ [COIN_MAX_FIELD_LENGTH]
 Current row name. More...
 
char columnName_ [COIN_MAX_FIELD_LENGTH]
 Current column name. More...
 
CoinFileInputinput_
 File input. More...
 
COINSectionType section_
 Which section we think we are in. More...
 
CoinBigIndex cardNumber_
 Card number. More...
 
bool freeFormat_
 Whether free format. Just for blank RHS etc. More...
 
int ieeeFormat_
 Whether IEEE - 0 no, 1 INTEL, 2 not INTEL. More...
 
bool eightChar_
 If all names <= 8 characters then allow embedded blanks. More...
 
CoinMpsIOreader_
 MpsIO. More...
 
CoinMessageHandlerhandler_
 Message handler. More...
 
CoinMessages messages_
 Messages. More...
 
char valueString_ [COIN_MAX_FIELD_LENGTH]
 Current element as characters (only if strings allowed) More...
 
bool stringsAllowed_
 Whether strings allowed. More...
 

methods

double osi_strtod (char *ptr, char **output, int type)
 type - 0 normal, 1 INTEL IEEE, 2 other IEEE More...
 
double osi_strtod (char *ptr, char **output)
 For strings. More...
 
static void strcpyAndCompress (char *to, const char *from)
 remove blanks More...
 
static char * nextBlankOr (char *image)
 

Detailed Description

Very simple code for reading MPS data.

Definition at line 59 of file CoinMpsIO.hpp.

Constructor & Destructor Documentation

CoinMpsCardReader::CoinMpsCardReader ( CoinFileInput input,
CoinMpsIO reader 
)

Constructor expects file to be open This one takes gzFile if fp null.

CoinMpsCardReader::~CoinMpsCardReader ( )

Destructor.

Member Function Documentation

COINSectionType CoinMpsCardReader::readToNextSection ( )

Read to next section.

COINSectionType CoinMpsCardReader::nextField ( )

Gets next field and returns section type e.g. COIN_COLUMN_SECTION.

int CoinMpsCardReader::nextGmsField ( int  expectedType)

Gets next field for .gms file and returns type.

-1 - EOF 0 - what we expected (and processed so pointer moves past) 1 - not what we expected leading blanks always ignored input types 0 - anything - stops on non blank card 1 - name (in columnname) 2 - value 3 - value name pair 4 - equation type 5 - ;

COINSectionType CoinMpsCardReader::whichSection ( ) const
inline

Returns current section type.

Definition at line 95 of file CoinMpsIO.hpp.

void CoinMpsCardReader::setWhichSection ( COINSectionType  section)
inline

Sets current section type.

Definition at line 99 of file CoinMpsIO.hpp.

bool CoinMpsCardReader::freeFormat ( ) const
inline

Sees if free format.

Definition at line 103 of file CoinMpsIO.hpp.

void CoinMpsCardReader::setFreeFormat ( bool  yesNo)
inline

Sets whether free format. Mainly for blank RHS etc.

Definition at line 106 of file CoinMpsIO.hpp.

COINMpsType CoinMpsCardReader::mpsType ( ) const
inline

Only for first field on card otherwise BLANK_COLUMN e.g.

COIN_E_ROW

Definition at line 110 of file CoinMpsIO.hpp.

int CoinMpsCardReader::cleanCard ( )

Reads and cleans card - taking out trailing blanks - return 1 if EOF.

const char* CoinMpsCardReader::rowName ( ) const
inline

Returns row name of current field.

Definition at line 116 of file CoinMpsIO.hpp.

const char* CoinMpsCardReader::columnName ( ) const
inline

Returns column name of current field.

Definition at line 120 of file CoinMpsIO.hpp.

double CoinMpsCardReader::value ( ) const
inline

Returns value in current field.

Definition at line 124 of file CoinMpsIO.hpp.

const char* CoinMpsCardReader::valueString ( ) const
inline

Returns value as string in current field.

Definition at line 128 of file CoinMpsIO.hpp.

const char* CoinMpsCardReader::card ( ) const
inline

Whole card (for printing)

Definition at line 132 of file CoinMpsIO.hpp.

char* CoinMpsCardReader::mutableCard ( )
inline

Whole card - so we look at it (not const so nextBlankOr will work for gms reader)

Definition at line 136 of file CoinMpsIO.hpp.

void CoinMpsCardReader::setPosition ( char *  position)
inline

set position (again so gms reader will work)

Definition at line 140 of file CoinMpsIO.hpp.

char* CoinMpsCardReader::getPosition ( ) const
inline

get position (again so gms reader will work)

Definition at line 143 of file CoinMpsIO.hpp.

CoinBigIndex CoinMpsCardReader::cardNumber ( ) const
inline

Returns card number.

Definition at line 146 of file CoinMpsIO.hpp.

CoinFileInput* CoinMpsCardReader::fileInput ( ) const
inline

Returns file input.

Definition at line 150 of file CoinMpsIO.hpp.

void CoinMpsCardReader::setStringsAllowed ( )
inline

Sets whether strings allowed.

Definition at line 154 of file CoinMpsIO.hpp.

double CoinMpsCardReader::osi_strtod ( char *  ptr,
char **  output,
int  type 
)

type - 0 normal, 1 INTEL IEEE, 2 other IEEE

static void CoinMpsCardReader::strcpyAndCompress ( char *  to,
const char *  from 
)
static

remove blanks

static char* CoinMpsCardReader::nextBlankOr ( char *  image)
static
double CoinMpsCardReader::osi_strtod ( char *  ptr,
char **  output 
)

For strings.

Member Data Documentation

double CoinMpsCardReader::value_
protected

Current value.

Definition at line 164 of file CoinMpsIO.hpp.

char CoinMpsCardReader::card_[MAX_CARD_LENGTH]
protected

Current card image.

Definition at line 166 of file CoinMpsIO.hpp.

char* CoinMpsCardReader::position_
protected

Current position within card image.

Definition at line 168 of file CoinMpsIO.hpp.

char* CoinMpsCardReader::eol_
protected

End of card.

Definition at line 170 of file CoinMpsIO.hpp.

COINMpsType CoinMpsCardReader::mpsType_
protected

Current COINMpsType.

Definition at line 172 of file CoinMpsIO.hpp.

char CoinMpsCardReader::rowName_[COIN_MAX_FIELD_LENGTH]
protected

Current row name.

Definition at line 174 of file CoinMpsIO.hpp.

char CoinMpsCardReader::columnName_[COIN_MAX_FIELD_LENGTH]
protected

Current column name.

Definition at line 176 of file CoinMpsIO.hpp.

CoinFileInput* CoinMpsCardReader::input_
protected

File input.

Definition at line 178 of file CoinMpsIO.hpp.

COINSectionType CoinMpsCardReader::section_
protected

Which section we think we are in.

Definition at line 180 of file CoinMpsIO.hpp.

CoinBigIndex CoinMpsCardReader::cardNumber_
protected

Card number.

Definition at line 182 of file CoinMpsIO.hpp.

bool CoinMpsCardReader::freeFormat_
protected

Whether free format. Just for blank RHS etc.

Definition at line 184 of file CoinMpsIO.hpp.

int CoinMpsCardReader::ieeeFormat_
protected

Whether IEEE - 0 no, 1 INTEL, 2 not INTEL.

Definition at line 186 of file CoinMpsIO.hpp.

bool CoinMpsCardReader::eightChar_
protected

If all names <= 8 characters then allow embedded blanks.

Definition at line 188 of file CoinMpsIO.hpp.

CoinMpsIO* CoinMpsCardReader::reader_
protected

MpsIO.

Definition at line 190 of file CoinMpsIO.hpp.

CoinMessageHandler* CoinMpsCardReader::handler_
protected

Message handler.

Definition at line 192 of file CoinMpsIO.hpp.

CoinMessages CoinMpsCardReader::messages_
protected

Messages.

Definition at line 194 of file CoinMpsIO.hpp.

char CoinMpsCardReader::valueString_[COIN_MAX_FIELD_LENGTH]
protected

Current element as characters (only if strings allowed)

Definition at line 196 of file CoinMpsIO.hpp.

bool CoinMpsCardReader::stringsAllowed_
protected

Whether strings allowed.

Definition at line 198 of file CoinMpsIO.hpp.


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