// 1000 entries per Block = a bit less than 4K #define MAXENTRY 1000
// number of entries that may remain free during compression // this value is for the worst case; because we defined MAXBLOCK with ca 25% // overhead, 80% = 800 entries are enough // if complete compression is desired, 100 has to be specified #define COMPRESSLVL 80
struct BlockInfo final
{
BigPtrArray* pBigArr; ///< in this array the block is located
sal_Int32 nStart, nEnd; ///< start- and end index
sal_uInt16 nElem; ///< number of elements
std::array<BigPtrEntry*, MAXENTRY>
mvData; ///< data block
};
class BigPtrArray
{ protected:
std::unique_ptr<BlockInfo*[]>
m_ppInf; ///< block info
sal_Int32 m_nSize; ///< number of elements
sal_uInt16 m_nMaxBlock; ///< current max. number of blocks
sal_uInt16 m_nBlock; ///< number of blocks mutable
sal_uInt16 m_nCur; ///< last used block
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.