CifFile Class Reference

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

`#include <CifFile.h>`

Inheritance diagram for CifFile:
Collaboration diagram for CifFile:

## Public Types

enum | eQuoting { eSINGLE = 0, eDOUBLE }
Public Types inherited from TableFile
enum | eStatusInd { eCLEAR_STATUS = 0x0000, eDUPLICATE_BLOCKS = 0x0001, eUNNAMED_BLOCKS = 0x0002 }

## 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 Member Functions inherited from TableFile
| TableFile (const Char::eCompareType caseSense=Char::eCASE_SENSITIVE)
| TableFile (const eFileMode fileMode, const string &fileName, const Char::eCompareType caseSense=Char::eCASE_SENSITIVE)
virtual | ~TableFile ()
string | GetFileName (void)
eFileMode | GetFileMode (void)
Char::eCompareType | GetCaseSensitivity (void)
unsigned int | GetStatusInd (void)
unsigned int | GetNumBlocks ()
void | GetBlockNames (vector< string > &blockNames)
string | GetFirstBlockName ()
bool | IsBlockPresent (const string &blockName)
string | AddBlock (const string &blockName)
Block & | GetBlock (const string &blockName)
string | RenameBlock (const string &oldBlockName, const string &newBlockName)
string | RenameFirstBlock (const string &newBlockName)
void | Flush ()
void | Serialize (const string &fileName)
void | Close ()

## Public Attributes

std::string | _parsingDiags
std::string | _checkingDiags

## Static Public Attributes

static const unsigned int | STD_CIF_LINE_LENGTH = 80

## Protected Types

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 Member Functions inherited from TableFile
void | _SetStatusInd (const string &blockName)
void | _AddBlock (const string &blockName, Serializer *serP)
void | _GetNumTablesInBlocks (vector< UInt32 > &numTablesInBlocks)
ISTable * | _GetTablePtr (const unsigned int blockIndex, const unsigned int tableIndex)
void | _GetAllTables ()
unsigned int | GetTotalNumTables ()
void | GetTableNames (vector< string > &tableNames)
void | GetTablesIndices (vector< unsigned int > &tablesIndices)
void | GetSortedTablesIndices (vector< unsigned int > &tablesIndices)
void | _ReadFileIndex ()
void | _ReadFileIndexVersion0 ()
void | _ReadFileIndexVersion1 ()
void | _WriteFileIndex (Serializer *serP, const vector< unsigned int > &tableLocs)

## 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
Protected Attributes inherited from TableFile
string | _fileName
eFileMode | _fileMode
Char::eCompareType | _caseSense
unsigned int | _statusInd
mapped_ptr_vector< Block, StringLess > | _blocks
Serializer * | _f

## 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

## 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

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

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

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

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

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

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

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

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 std::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 std::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

References _verbose.

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

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

References _smartPrint.

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

References _smartPrint.

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 | ( | 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::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 | ( | 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 | ( | std::ostream & | cifo,
|  | const std::vector< std::string > & | catOrder,
|  | const bool | writeEmptyTables = `false`
| ) |  |

protected

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

protected

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

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

Referenced by IsSmartPrint(), and SetSmartPrint().

bool CifFile::_verbose

protected

Referenced by GetVerbose().

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 file:

- rcsb/CifFile.h