CifFile Class Reference

Public class that represents a CIF file, composed of blocks with tables. More...

#include <CifFile.h>

Inherited by DicFile.

Inheritance diagram for CifFile:

Inheritance graph
[legend]
Collaboration diagram for CifFile:

Collaboration graph
[legend]
List of all members.

Public Types

 eSINGLE = 0
 eDOUBLE
enum  eQuoting { eSINGLE = 0, eDOUBLE }

Public Member Functions

 CifFile (const eFileMode fileMode, const std::string &fileName, const bool verbose=false, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE, const unsigned int maxLineLength=STD_CIF_LINE_LENGTH, const std::string &nullValue=CifString::UnknownValue)
 CifFile (const bool verbose=false, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE, const unsigned int maxLineLength=STD_CIF_LINE_LENGTH, const std::string &nullValue=CifString::UnknownValue)
 ~CifFile ()
void SetSrcFileName (const std::string &srcFileName)
const std::string & GetSrcFileName ()
bool GetVerbose ()
void SetSmartPrint (bool smartPrint=true)
bool IsSmartPrint ()
void SetQuoting (eQuoting quoting)
unsigned int GetQuoting ()
void SetLooping (const std::string &catName, bool looping=false)
bool GetLooping (const std::string &catName)
void Write (const std::string &cifFileName, const bool sortTables=false, const bool writeEmptyTables=false)
void Write (const std::string &cifFileName, const std::vector< std::string > &tableOrder, const bool writeEmptyTables=false)
void Write (std::ostream &outStream, const bool sortTables=false, const bool writeEmptyTables=false)
void WriteNmrStar (const std::string &nmrStarFileName, const std::string &globalBlockName, const bool sortTables=false, const bool writeEmptyTables=false)
int DataChecking (CifFile &dicRef, const std::string &diagFileName, const bool extraChecks=false)
int DataChecking (Block &block, Block &refBlock, std::ostringstream &buf, const bool extraChecks=false)
void SetEnumCheck (bool caseSense=false)
bool GetEnumCheck ()
const std::string & GetParsingDiags ()
void FindCifNullRows (std::vector< unsigned int > &nullRowsIndices, const ISTable &isTable)
void GetAttributeValue (std::string &attribVal, const std::string &blockId, const std::string &category, const std::string &attribute)
void GetAttributeValueIf (std::string &attribVal, const std::string &blockId, const std::string &category, const std::string &attributeA, const std::string &attributeB, const std::string &valB)
bool IsAttributeValueDefined (const std::string &blockId, const std::string &category, const std::string &attribute)
void SetAttributeValue (const std::string &blockId, const std::string &category, const std::string &attribute, const std::string &value, const bool create=false)
void SetAttributeValueIf (const std::string &blockId, const std::string &category, const std::string &attributeA, const std::string &valA, const std::string &attributeB, const std::string &valB, const bool create=false)
void SetAttributeValueIfNull (const std::string &blockId, const std::string &category, const std::string &attribute, const std::string &value)
void GetAttributeValues (std::vector< std::string > &strings, const std::string &blockId, const std::string &category, const std::string &attribute)
void GetAttributeValuesIf (std::vector< std::string > &strings, const std::string &blockId, const std::string &category, const std::string &attributeA, const std::string &attributeB, const std::string &valB)
void SetAttributeValues (const std::string &blockId, const std::string &category, const std::string &attribute, const std::vector< std::string > &values)
int CheckCategories (Block &block, Block &refBlock, std::ostringstream &log)
void CheckCategoryKey (Block &block, std::ostringstream &log)
void CheckItemsTable (Block &block, std::ostringstream &log)
int CheckItems (Block &block, Block &refBlock, std::ostringstream &log)

Public Attributes

std::string _parsingDiags
std::string _checkingDiags

Static Public Attributes

static const unsigned int STD_CIF_LINE_LENGTH = 80

Protected Types

 eNONE = 0
 eLEFT
 eRIGHT
enum  eIdentType { eNONE = 0, eLEFT, eRIGHT }

Protected Member Functions

int _IsQuotableText (const std::string &itemValue)
eIdentType _FindPrintType (const std::vector< std::string > &values)
void _PrintItemIdent (std::ostream &cifo, unsigned int &linePos)
void _PrintItemName (std::ostream &cifo, const std::string &category, const std::string &itemName, unsigned int &linePos)
void _PrintPostItemSeparator (std::ostream &cifo, unsigned int &linePos, const bool ident=false, const unsigned int numSpaces=1)
int _PrintItemValue (std::ostream &cifo, const std::string &itemValue, unsigned int &linePos, const eIdentType identType=eNONE, const unsigned int width=0)
int _PrintItemNameInHeader (std::ostream &cifo, const std::string &itemValue, unsigned int &linePos, const eIdentType identType=eNONE, const unsigned int width=0)
void _PrintHeaderedItems (std::ostream &cifo, const std::vector< std::string > &colNames, const std::vector< unsigned int > &colWidths, const std::vector< eIdentType > colPrintType)
void Write (std::ostream &cifo, const std::vector< std::string > &catOrder, const bool writeEmptyTables=false)
void Write (std::ostream &cifo, std::vector< unsigned int > &tables, const bool writeEmptyTables=false)

Protected Attributes

std::string _beginDataKeyword
std::string _endDataKeyword
std::string _beginLoopKeyword
std::string _endLoopKeyword
unsigned int _maxCifLineLength
std::string _nullValue
bool _verbose
bool _smartPrint
std::string _quotes
std::map< std::string, bool > _looping
bool _enumCaseSense

Static Protected Attributes

static const unsigned int STD_PRINT_SPACING = 3
static const unsigned int SMART_PRINT_SPACING = 1
static const unsigned int HEADER_SPACING = 40

Private Member Functions

void Init ()
bool IsCatDefinedInRef (const std::string &catName, ISTable &catTable)
bool IsItemDefinedInRef (const std::string &catName, const std::string &itemName, ISTable &refItemTable)
void CheckKeyItems (const std::string &blockName, ISTable &catTable, ISTable &keyTable, std::ostringstream &log)
void CheckKeyValues (const std::vector< std::string > &keyItems, ISTable &catTable, std::ostringstream &log)
void GetKeyAttributes (std::vector< std::string > &keyAttributes, const std::string &catTableName, ISTable &catKeyTable)
void CheckKeyItems (const std::string &blockName, ISTable &catTable, const std::vector< std::string > &keyAttributes, std::ostringstream &log)
void CheckMandatoryItems (const std::string &blockName, ISTable &catTable, ISTable &refItemTable, const std::vector< std::string > &keyItems, std::ostringstream &log)
void CheckAndRectifyItemTypeCode (Block &block, std::ostringstream &log)
int CheckRegExpRangeEnum (Block &block, ISTable &catTable, const std::string &attribName, ISTable &itemTypeTable, ISTable &itemTypeListTable, ISTable &itemRangeTable, ISTable &itemEnumTable, ISTable &parChildTable, ISTable *itemAliasesP, std::ostringstream &log)
int CheckCellRange (const std::string &cell, const std::string &typeCode, const std::vector< std::string > &minlist, const std::vector< std::string > &maxlist)
int CheckCellEnum (const std::string &cell, const std::string &typeCode, const std::string &primCode, const std::vector< std::string > &enumlist)
int CheckCellFloatRange (const std::string &cell, const std::vector< std::string > &minlist, const std::vector< std::string > &maxlist)
int CheckCellIntRange (const std::string &cell, const std::vector< std::string > &minlist, const std::vector< std::string > &maxlist)
int CheckCellFloatEnum (const std::string &cell, const std::vector< std::string > &enumlist)
int CheckCellIntEnum (const std::string &cell, const std::vector< std::string > &enumlist)
int CheckCellOtherEnum (const std::string &cell, const std::string &primCode, const std::vector< std::string > &enumlist)
void GetItemTypeCode (std::string &typeCode, const std::string &cifItemName, ISTable &itemTypeTable)
void ConvertEscapedString (const std::string &inString, std::string &outString)

Private Attributes

std::string _srcFileName
bool _extraChecks

Detailed Description

Public class that represents a CIF file, composed of blocks with tables.

This class represents a CIF file. In addition to inherited methods from TableFile class, this class provides methods for writing the data to a text file, along with methods for controlling how the data is written, and a method for verifying the CIF file against dictionary.


Member Enumeration Documentation

enum CifFile::eIdentType [protected]

Enumerator:
eNONE 
eLEFT 
eRIGHT 

enum CifFile::eQuoting

Enumerator:
eSINGLE 
eDOUBLE 


Constructor & Destructor Documentation

CifFile::CifFile ( const eFileMode  fileMode,
const std::string &  fileName,
const bool  verbose = false,
const Char::eCompareType  caseSense = Char::eCASE_SENSITIVE,
const unsigned int  maxLineLength = STD_CIF_LINE_LENGTH,
const std::string &  nullValue = CifString::UnknownValue 
)

Constructs a CIF file.

Parameters:
[in] fileMode - CIF file mode. Possible values are read-only, create, update and virtual. Detailed description of file mode is given in TableFile documentation.
[in] fileName - relative or absolute name of the file where object persistency is maintained. If fileMode specifies virtual mode, this parameter is ignored.
[in] verbose - optional parameter that indicates whether logging should be turned on (if true) or off (if false). If verbose is not specified, logging is turned off.
[in] caseSense - optional parameter that indicates case sensitivity of table names. Possible values are case sensitive and case in-sensitive. If not specified, case sensitive table names are assumed.
[in] maxLineLength - optional parameter that indicates the maximum number of written characters in one line in the written text file. If not specified, STD_CIF_LINE_LENGTH is used.
[in] nullValue - optional parameter that indicates the character that is to be used to denote unknown value in the written CIF file. If not specified, CifString::UnknownValue is used.
Returns:
Not applicable
Precondition:
None
Postcondition:
None
Exceptions:
 None

CifFile::CifFile ( const bool  verbose = false,
const Char::eCompareType  caseSense = Char::eCASE_SENSITIVE,
const unsigned int  maxLineLength = STD_CIF_LINE_LENGTH,
const std::string &  nullValue = CifString::UnknownValue 
)

Constructs a CIF file in virtual mode.

Parameters:
[in] verbose - optional parameter that indicates whether logging should be turned on (if true) or off (if false). If verbose is not specified, logging is turned off.
[in] caseSense - optional parameter that indicates case sensitivity of table names. Possible values are case sensitive and case in-sensitive. If not specified, case sensitive table names are assumed.
[in] maxLineLength - optional parameter that indicates the maximum number of written characters in one line in the written text file. If not specified, STD_CIF_LINE_LENGTH is used.
[in] nullValue - optional parameter that indicates the character that is to be used to denote unknown value in the written CIF file. If not specified, CifString::UnknownValue is used.
Returns:
Not applicable
Precondition:
None
Postcondition:
None
Exceptions:
 None

CifFile::~CifFile (  ) 

Destructs a CIF file, by releasing all consumed resources.

Parameters:
 Not applicable
Returns:
Not applicable
Precondition:
None
Postcondition:
None
Exceptions:
 None


Member Function Documentation

eIdentType CifFile::_FindPrintType ( const std::vector< std::string > &  values  )  [protected]

int CifFile::_IsQuotableText ( const std::string &  itemValue  )  [protected]

void CifFile::_PrintHeaderedItems ( std::ostream &  cifo,
const std::vector< std::string > &  colNames,
const std::vector< unsigned int > &  colWidths,
const std::vector< eIdentType colPrintType 
) [protected]

void CifFile::_PrintItemIdent ( std::ostream &  cifo,
unsigned int &  linePos 
) [protected]

void CifFile::_PrintItemName ( std::ostream &  cifo,
const std::string &  category,
const std::string &  itemName,
unsigned int &  linePos 
) [protected]

int CifFile::_PrintItemNameInHeader ( std::ostream &  cifo,
const std::string &  itemValue,
unsigned int &  linePos,
const eIdentType  identType = eNONE,
const unsigned int  width = 0 
) [protected]

int CifFile::_PrintItemValue ( std::ostream &  cifo,
const std::string &  itemValue,
unsigned int &  linePos,
const eIdentType  identType = eNONE,
const unsigned int  width = 0 
) [protected]

void CifFile::_PrintPostItemSeparator ( std::ostream &  cifo,
unsigned int &  linePos,
const bool  ident = false,
const unsigned int  numSpaces = 1 
) [protected]

void CifFile::CheckAndRectifyItemTypeCode ( Block &  block,
std::ostringstream &  log 
) [private]

int CifFile::CheckCategories ( Block &  block,
Block &  refBlock,
std::ostringstream &  log 
)

void CifFile::CheckCategoryKey ( Block &  block,
std::ostringstream &  log 
)

int CifFile::CheckCellEnum ( const std::string &  cell,
const std::string &  typeCode,
const std::string &  primCode,
const std::vector< std::string > &  enumlist 
) [private]

int CifFile::CheckCellFloatEnum ( const std::string &  cell,
const std::vector< std::string > &  enumlist 
) [private]

int CifFile::CheckCellFloatRange ( const std::string &  cell,
const std::vector< std::string > &  minlist,
const std::vector< std::string > &  maxlist 
) [private]

int CifFile::CheckCellIntEnum ( const std::string &  cell,
const std::vector< std::string > &  enumlist 
) [private]

int CifFile::CheckCellIntRange ( const std::string &  cell,
const std::vector< std::string > &  minlist,
const std::vector< std::string > &  maxlist 
) [private]

int CifFile::CheckCellOtherEnum ( const std::string &  cell,
const std::string &  primCode,
const std::vector< std::string > &  enumlist 
) [private]

int CifFile::CheckCellRange ( const std::string &  cell,
const std::string &  typeCode,
const std::vector< std::string > &  minlist,
const std::vector< std::string > &  maxlist 
) [private]

int CifFile::CheckItems ( Block &  block,
Block &  refBlock,
std::ostringstream &  log 
)

void CifFile::CheckItemsTable ( Block &  block,
std::ostringstream &  log 
)

void CifFile::CheckKeyItems ( const std::string &  blockName,
ISTable &  catTable,
const std::vector< std::string > &  keyAttributes,
std::ostringstream &  log 
) [private]

void CifFile::CheckKeyItems ( const std::string &  blockName,
ISTable &  catTable,
ISTable &  keyTable,
std::ostringstream &  log 
) [private]

void CifFile::CheckKeyValues ( const std::vector< std::string > &  keyItems,
ISTable &  catTable,
std::ostringstream &  log 
) [private]

void CifFile::CheckMandatoryItems ( const std::string &  blockName,
ISTable &  catTable,
ISTable &  refItemTable,
const std::vector< std::string > &  keyItems,
std::ostringstream &  log 
) [private]

int CifFile::CheckRegExpRangeEnum ( Block &  block,
ISTable &  catTable,
const std::string &  attribName,
ISTable &  itemTypeTable,
ISTable &  itemTypeListTable,
ISTable &  itemRangeTable,
ISTable &  itemEnumTable,
ISTable &  parChildTable,
ISTable *  itemAliasesP,
std::ostringstream &  log 
) [private]

void CifFile::ConvertEscapedString ( const std::string &  inString,
std::string &  outString 
) [private]

int CifFile::DataChecking ( Block &  block,
Block &  refBlock,
std::ostringstream &  buf,
const bool  extraChecks = false 
)

Checks a block of CIF file against the specified reference block.

Parameters:
[in] block - reference to a block that is to be checked
[in] refBlock - reference to a reference block against which block is to be checked
[out] diagBuf - diagnostics buffer that holds checking results
[in] extraChecks - optional parameter that indicates whether to perform additional, non-standard, checks. If not specified, those checks are not performed.
Returns:
0 - if all checks passed

different than 0 - if checks failed

Precondition:
None
Postcondition:
None
Exceptions:
 None

int CifFile::DataChecking ( CifFile dicRef,
const std::string &  diagFileName,
const bool  extraChecks = false 
)

Checks a CIF file (all blocks in it) against the dictionary.

Parameters:
[in] dicRef - reference to a dictionary file. The check is done against the first block in the dictionary file.
[in] diagFileName - relative or absolute name of the file, where diagnostic information is stored.
[in] extraChecks - optional parameter that indicates whether to perform additional, non-standard, checks. If not specified, those checks are not performed.
Returns:
0 - if all checks passed

different than 0 - if checks failed

Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::FindCifNullRows ( std::vector< unsigned int > &  nullRowsIndices,
const ISTable &  isTable 
)

Finds indices of rows that contain all CIF null values. A CIF null value is defined as a "?" or "".

Parameters:
[out] nullRowsIndices - vector of null rows indices.
[in] isTable - table reference
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::GetAttributeValue ( std::string &  attribVal,
const std::string &  blockId,
const std::string &  category,
const std::string &  attribute 
)

void CifFile::GetAttributeValueIf ( std::string &  attribVal,
const std::string &  blockId,
const std::string &  category,
const std::string &  attributeA,
const std::string &  attributeB,
const std::string &  valB 
)

void CifFile::GetAttributeValues ( std::vector< std::string > &  strings,
const std::string &  blockId,
const std::string &  category,
const std::string &  attribute 
)

void CifFile::GetAttributeValuesIf ( std::vector< std::string > &  strings,
const std::string &  blockId,
const std::string &  category,
const std::string &  attributeA,
const std::string &  attributeB,
const std::string &  valB 
)

bool CifFile::GetEnumCheck (  ) 

Retrieves enumerations checking option for case-insensitive types.

Parameters:
 None
Returns:
true - if case-sensitive enumeration check is enabled

false - if case-insensitive enumeration check is enabled

Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::GetItemTypeCode ( std::string &  typeCode,
const std::string &  cifItemName,
ISTable &  itemTypeTable 
) [private]

void CifFile::GetKeyAttributes ( std::vector< std::string > &  keyAttributes,
const std::string &  catTableName,
ISTable &  catKeyTable 
) [private]

bool CifFile::GetLooping ( const std::string &  catName  ) 

Retrieves looping option of a category.

Parameters:
catName - category name
Returns:
- category looping option, as described in SetLooping() method.
Precondition:
None
Postcondition:
None
Exceptions:
 None

const string & CifFile::GetParsingDiags (  ) 

Gets parsing diagnostics.

Parameters:
 None
Returns:
- reference to parsing diagnostics
Precondition:
None
Postcondition:
None
Exceptions:
 None

unsigned int CifFile::GetQuoting (  ) 

Retrieves quoting option.

Parameters:
 None
Returns:
eSINGLE - if single quotes are used

eDOUBLE - if double quotes are used

Precondition:
None
Postcondition:
None
Exceptions:
 None

const string & CifFile::GetSrcFileName (  ) 

Retrieves source file name.

Parameters:
 None
Returns:
- source file name
Precondition:
None
Postcondition:
None
Exceptions:
 None

bool CifFile::GetVerbose (  )  [inline]

Retrieves logging option.

Parameters:
 None
Returns:
true - if logging is turned on

false - if logging is turned off

Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::Init (  )  [private]

bool CifFile::IsAttributeValueDefined ( const std::string &  blockId,
const std::string &  category,
const std::string &  attribute 
)

bool CifFile::IsCatDefinedInRef ( const std::string &  catName,
ISTable &  catTable 
) [private]

bool CifFile::IsItemDefinedInRef ( const std::string &  catName,
const std::string &  itemName,
ISTable &  refItemTable 
) [private]

bool CifFile::IsSmartPrint (  )  [inline]

Retrieves smart printing option.

Parameters:
 None
Returns:
true - if smart printing is enabled

false - if smart printing is disabled

Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::SetAttributeValue ( const std::string &  blockId,
const std::string &  category,
const std::string &  attribute,
const std::string &  value,
const bool  create = false 
)

void CifFile::SetAttributeValueIf ( const std::string &  blockId,
const std::string &  category,
const std::string &  attributeA,
const std::string &  valA,
const std::string &  attributeB,
const std::string &  valB,
const bool  create = false 
)

void CifFile::SetAttributeValueIfNull ( const std::string &  blockId,
const std::string &  category,
const std::string &  attribute,
const std::string &  value 
)

void CifFile::SetAttributeValues ( const std::string &  blockId,
const std::string &  category,
const std::string &  attribute,
const std::vector< std::string > &  values 
)

void CifFile::SetEnumCheck ( bool  caseSense = false  ) 

Sets enumerations checking option for case-insensitive types.

Parameters:
caseSense - case sensitivity of enumeration values check. If false, enumeration values of case-insensitive types will be checked as case-insensitive. If true, enumeration values of case-insensitive types will be checked as case-sensitive.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::SetLooping ( const std::string &  catName,
bool  looping = false 
)

This method is used in order to control how single row categories are written: in form of a "loop_" construct or as an item-value pair.

Parameters:
catName - category name
looping - category looping option. If false and the category is a single row category, that category will not be written with "loop_" construct. Otherwise, if true, single row category will be written with "loop_" construct.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::SetQuoting ( eQuoting  quoting  ) 

Sets quoting option. This option is used in order to select the type of quoting to be used in the written text file.

Parameters:
quoting - type of quoting. If eSINGLE, single quotes are used. If eDOUBLE, double quotes are used.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::SetSmartPrint ( bool  smartPrint = true  )  [inline]

Sets smart printing option. Smart printing is used to beautify the output of a written text file.

Parameters:
smartPrint - smart printing. If false, smart printing is disabled. If true, smart printing is enabled. If not specified, smart printing is enabled.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::SetSrcFileName ( const std::string &  srcFileName  ) 

Sets file name of a file that was the source of the object data.

Parameters:
srcFileName - The name of the source data file.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::Write ( std::ostream &  cifo,
std::vector< unsigned int > &  tables,
const bool  writeEmptyTables = false 
) [protected]

void CifFile::Write ( std::ostream &  cifo,
const std::vector< std::string > &  catOrder,
const bool  writeEmptyTables = false 
) [protected]

void CifFile::Write ( std::ostream &  outStream,
const bool  sortTables = false,
const bool  writeEmptyTables = false 
)

Writes the data out to an output stream.

Parameters:
[in] outStream - a reference to the output stream
[in] sortTables - optional parameter that indicates whether written tables should be sorted (if true) or not sorted (if false). If sortTables is not specified, tables are not sorted prior to writing them.
[in] writeEmptyTables - optional parameter that indicates whether empty tables (0 rows) are to be written (if true) or not written (if false). If writeEmptyTables is not specified, empty tables are not written.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::Write ( const std::string &  cifFileName,
const std::vector< std::string > &  tableOrder,
const bool  writeEmptyTables = false 
)

Writes the data out to a text file.

Parameters:
[in] cifFileName - relative or absolute name of the text file to which the data from CifFile object is to be written to.
[in] tableOrder - vector of table names that indicates the order of written tables.
[in] writeEmptyTables - optional parameter that indicates whether empty tables (0 rows) are to be written (if true) or not written (if false). If writeEmptyTables is not specified, empty tables are not written.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::Write ( const std::string &  cifFileName,
const bool  sortTables = false,
const bool  writeEmptyTables = false 
)

Writes the data out to a text file.

Parameters:
[in] cifFileName - relative or absolute name of the text file to which the data from CifFile object is to be written to.
[in] sortTables - optional parameter that indicates whether written tables should be sorted (if true) or not sorted (if false). If sortTables is not specified, tables are not sorted prior to writing them.
[in] writeEmptyTables - optional parameter that indicates whether empty tables (0 rows) are to be written (if true) or not written (if false). If writeEmptyTables is not specified, empty tables are not written.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None

void CifFile::WriteNmrStar ( const std::string &  nmrStarFileName,
const std::string &  globalBlockName,
const bool  sortTables = false,
const bool  writeEmptyTables = false 
)

Writes the data out to a text file in NMR-STAR format.

Parameters:
[in] nmrStarFileName - relative or absolute name of the text file to which the data from CifFile object is to be written to.
[in] globalBlockName - the name of the global NMR-STAR block.
[in] sortTables - optional parameter that indicates whether written tables should be sorted (if true) or not sorted (if false). If sortTables is not specified, tables are not sorted prior to writing them.
[in] writeEmptyTables - optional parameter that indicates whether empty tables (0 rows) are to be written (if true) or not written (if false). If writeEmptyTables is not specified, empty tables are not written.
Returns:
None
Precondition:
None
Postcondition:
None
Exceptions:
 None


Member Data Documentation

std::string CifFile::_beginDataKeyword [protected]

std::string CifFile::_beginLoopKeyword [protected]

std::string CifFile::_checkingDiags

std::string CifFile::_endDataKeyword [protected]

std::string CifFile::_endLoopKeyword [protected]

bool CifFile::_enumCaseSense [protected]

bool CifFile::_extraChecks [private]

std::map<std::string, bool> CifFile::_looping [protected]

unsigned int CifFile::_maxCifLineLength [protected]

std::string CifFile::_nullValue [protected]

std::string CifFile::_parsingDiags

std::string CifFile::_quotes [protected]

bool CifFile::_smartPrint [protected]

std::string CifFile::_srcFileName [private]

bool CifFile::_verbose [protected]

const unsigned int CifFile::HEADER_SPACING = 40 [static, protected]

const unsigned int CifFile::SMART_PRINT_SPACING = 1 [static, protected]

const unsigned int CifFile::STD_CIF_LINE_LENGTH = 80 [static]

const unsigned int CifFile::STD_PRINT_SPACING = 3 [static, protected]


The documentation for this class was generated from the following files:
Generated on Thu Sep 29 09:19:22 2011 for cif-file-v1.1.0 by  doxygen 1.4.7