LibreOffice Module sc (master)  1
Public Member Functions | Private Types | Private Attributes | List of all members
XclExpSstImpl Class Reference

Implementation of the SST export. More...

Public Member Functions

 XclExpSstImpl ()
 
sal_uInt32 Insert (XclExpStringRef xString)
 Inserts the passed string, if not already inserted, and returns the unique SST index. More...
 
void Save (XclExpStream &rStrm)
 Writes the complete SST and EXTSST records. More...
 
void SaveXml (XclExpXmlStream &rStrm)
 

Private Types

typedef ::std::vector< XclExpHashEntry > XclExpHashVec
 

Private Attributes

std::vector< XclExpStringRefmaStringVector
 
std::vector< XclExpHashVecmaHashTab
 List of unique strings (in SST ID order). More...
 
sal_uInt32 mnTotal
 Hashed table that manages string pointers. More...
 
sal_uInt32 mnSize
 Total count of strings (including doubles). More...
 

Detailed Description

Implementation of the SST export.

Stores all passed strings in a hash table and prevents repeated insertion of equal strings.

Definition at line 92 of file xecontent.cxx.

Member Typedef Documentation

typedef ::std::vector< XclExpHashEntry > XclExpSstImpl::XclExpHashVec
private

Definition at line 105 of file xecontent.cxx.

Constructor & Destructor Documentation

XclExpSstImpl::XclExpSstImpl ( )
explicit

Definition at line 116 of file xecontent.cxx.

References mnSize.

Member Function Documentation

sal_uInt32 XclExpSstImpl::Insert ( XclExpStringRef  xString)

Inserts the passed string, if not already inserted, and returns the unique SST index.

Definition at line 123 of file xecontent.cxx.

References EXC_SST_HASHTABLE_SIZE, maHashTab, maStringVector, mnSize, and mnTotal.

void XclExpSstImpl::Save ( XclExpStream rStrm)
void XclExpSstImpl::SaveXml ( XclExpXmlStream rStrm)

Member Data Documentation

std::vector< XclExpHashVec > XclExpSstImpl::maHashTab
private

List of unique strings (in SST ID order).

Definition at line 109 of file xecontent.cxx.

Referenced by Insert().

std::vector< XclExpStringRef > XclExpSstImpl::maStringVector
private

Definition at line 107 of file xecontent.cxx.

Referenced by Insert(), Save(), and SaveXml().

sal_uInt32 XclExpSstImpl::mnSize
private

Total count of strings (including doubles).

Definition at line 111 of file xecontent.cxx.

Referenced by Insert(), Save(), and SaveXml().

sal_uInt32 XclExpSstImpl::mnTotal
private

Hashed table that manages string pointers.

Definition at line 110 of file xecontent.cxx.

Referenced by Insert(), Save(), and SaveXml().


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