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.

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

Definition at line 93 of file xecontent.cxx.

Member Typedef Documentation

◆ XclExpHashVec

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

Definition at line 106 of file xecontent.cxx.

Constructor & Destructor Documentation

◆ XclExpSstImpl()

XclExpSstImpl::XclExpSstImpl ( )
explicit

Definition at line 117 of file xecontent.cxx.

References mnSize.

Member Function Documentation

◆ Insert()

sal_uInt32 XclExpSstImpl::Insert ( XclExpStringRef  xString)

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

Definition at line 124 of file xecontent.cxx.

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

◆ Save()

void XclExpSstImpl::Save ( XclExpStream rStrm)

Writes the complete SST and EXTSST records.

Definition at line 155 of file xecontent.cxx.

References EXC_ID_EXTSST, EXC_ID_SST, maStringVector, mnSize, mnTotal, rStrm, SvStream::Seek(), STREAM_SEEK_TO_BEGIN, SvStream::WriteUInt16(), and SvStream::WriteUInt32().

◆ SaveXml()

void XclExpSstImpl::SaveXml ( XclExpXmlStream rStrm)

Definition at line 206 of file xecontent.cxx.

References oox::getRelationship(), maStringVector, mnSize, mnTotal, rStrm, and u.

Member Data Documentation

◆ maHashTab

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

List of unique strings (in SST ID order).

Definition at line 110 of file xecontent.cxx.

Referenced by Insert().

◆ maStringVector

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

Definition at line 108 of file xecontent.cxx.

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

◆ mnSize

sal_uInt32 XclExpSstImpl::mnSize
private

Total count of strings (including doubles).

Definition at line 112 of file xecontent.cxx.

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

◆ mnTotal

sal_uInt32 XclExpSstImpl::mnTotal
private

Hashed table that manages string pointers.

Definition at line 111 of file xecontent.cxx.

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


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