LibreOffice Module sc (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
XclExpRangeFmlaBase Class Referenceabstract

Base record for additional range formula records (i.e. More...

#include <xetable.hxx>

Inheritance diagram for XclExpRangeFmlaBase:
[legend]
Collaboration diagram for XclExpRangeFmlaBase:
[legend]

Public Member Functions

bool IsBasePos (sal_uInt16 nXclCol, sal_uInt32 nXclRow) const
 Returns true, if the passed cell position is equal to own base position. More...
 
virtual XclTokenArrayRef CreateCellTokenArray (const XclExpRoot &rRoot) const =0
 Derived classes create the token array for a corresponding FORMULA cell record. More...
 
virtual bool IsVolatile () const =0
 Derived classes return true, if the own formula contains volatile functions. More...
 
- Public Member Functions inherited from XclExpRecord
 XclExpRecord (sal_uInt16 nRecId=EXC_ID_UNKNOWN, std::size_t nRecSize=0)
 
 XclExpRecord (XclExpRecord const &)=default
 
virtual ~XclExpRecord () override
 
sal_uInt16 GetRecId () const
 Returns the current record ID. More...
 
std::size_t GetRecSize () const
 Returns the current record size prediction. More...
 
void SetRecId (sal_uInt16 nRecId)
 Sets a new record ID. More...
 
void SetRecSize (std::size_t nRecSize)
 Sets a new record size prediction. More...
 
void AddRecSize (std::size_t nRecSize)
 Adds a size value to the record size prediction. More...
 
void SetRecHeader (sal_uInt16 nRecId, std::size_t nRecSize)
 Sets record ID and size with one call. More...
 
virtual void Save (XclExpStream &rStrm) override
 Writes the record header and calls WriteBody(). More...
 
- Public Member Functions inherited from XclExpRecordBase
 XclExpRecordBase ()
 
 XclExpRecordBase (XclExpRecordBase const &)
 
 XclExpRecordBase (XclExpRecordBase &&)
 
XclExpRecordBaseoperator= (XclExpRecordBase const &)
 
XclExpRecordBaseoperator= (XclExpRecordBase &&) noexcept
 
virtual ~XclExpRecordBase ()
 
virtual void Save (XclExpStream &rStrm)
 Overwrite this method to do any operation while saving the record. More...
 
virtual void SaveXml (XclExpXmlStream &rStrm)
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Protected Member Functions

 XclExpRangeFmlaBase (sal_uInt16 nRecId, sal_uInt32 nRecSize, const ScAddress &rScPos)
 Constructs the record with a single cell. More...
 
 XclExpRangeFmlaBase (sal_uInt16 nRecId, sal_uInt32 nRecSize, const ScRange &rScRange)
 Constructs the record with a cell range. More...
 
void Extend (const ScAddress &rScPos)
 Extends the cell range to include the passed cell address. More...
 
void WriteRangeAddress (XclExpStream &rStrm) const
 Writes the range address covered by this record. More...
 
- Protected Member Functions inherited from XclExpRecord
virtual void WriteBody (XclExpStream &rStrm)
 Writes the body of the record (without record header). More...
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 

Protected Attributes

XclRange maXclRange
 
XclAddress maBaseXclPos
 Range described by this record. More...
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Additional Inherited Members

- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static void * operator new (std::size_t nSize)
 
static void * operator new (std::size_t nSize, std::nothrow_t const &rNothrow)
 
static void operator delete (void *pPtr)
 
static void operator delete (void *pPtr, std::nothrow_t const &rNothrow)
 

Detailed Description

Base record for additional range formula records (i.e.

ARRAY, SHRFMLA).

Definition at line 64 of file xetable.hxx.

Constructor & Destructor Documentation

◆ XclExpRangeFmlaBase() [1/2]

XclExpRangeFmlaBase::XclExpRangeFmlaBase ( sal_uInt16  nRecId,
sal_uInt32  nRecSize,
const ScAddress rScPos 
)
explicitprotected

Constructs the record with a single cell.

Definition at line 72 of file xetable.cxx.

References ScAddress::Col(), maBaseXclPos, XclRange::maFirst, XclRange::maLast, maXclRange, ScAddress::Row(), and XclAddress::Set().

◆ XclExpRangeFmlaBase() [2/2]

XclExpRangeFmlaBase::XclExpRangeFmlaBase ( sal_uInt16  nRecId,
sal_uInt32  nRecSize,
const ScRange rScRange 
)
explicitprotected

Constructs the record with a cell range.

Definition at line 82 of file xetable.cxx.

References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), maBaseXclPos, XclRange::maFirst, maXclRange, ScAddress::Row(), and XclRange::Set().

Member Function Documentation

◆ CreateCellTokenArray()

virtual XclTokenArrayRef XclExpRangeFmlaBase::CreateCellTokenArray ( const XclExpRoot rRoot) const
pure virtual

Derived classes create the token array for a corresponding FORMULA cell record.

Implemented in XclExpArray, XclExpShrfmla, and XclExpTableop.

◆ Extend()

void XclExpRangeFmlaBase::Extend ( const ScAddress rScPos)
protected

Extends the cell range to include the passed cell address.

Definition at line 101 of file xetable.cxx.

References ScAddress::Col(), XclRange::maFirst, XclRange::maLast, maXclRange, XclAddress::mnCol, XclAddress::mnRow, and ScAddress::Row().

Referenced by XclExpShrfmla::ExtendRange(), and XclExpTableop::TryExtend().

◆ IsBasePos()

bool XclExpRangeFmlaBase::IsBasePos ( sal_uInt16  nXclCol,
sal_uInt32  nXclRow 
) const

Returns true, if the passed cell position is equal to own base position.

Definition at line 96 of file xetable.cxx.

References maBaseXclPos, XclAddress::mnCol, and XclAddress::mnRow.

◆ IsVolatile()

virtual bool XclExpRangeFmlaBase::IsVolatile ( ) const
pure virtual

Derived classes return true, if the own formula contains volatile functions.

Implemented in XclExpArray, XclExpShrfmla, and XclExpTableop.

◆ WriteRangeAddress()

void XclExpRangeFmlaBase::WriteRangeAddress ( XclExpStream rStrm) const
protected

Writes the range address covered by this record.

Definition at line 111 of file xetable.cxx.

References maXclRange, rStrm, and XclRange::Write().

Referenced by XclExpArray::WriteBody(), XclExpShrfmla::WriteBody(), and XclExpTableop::WriteBody().

Member Data Documentation

◆ maBaseXclPos

XclAddress XclExpRangeFmlaBase::maBaseXclPos
protected

◆ maXclRange

XclRange XclExpRangeFmlaBase::maXclRange
protected

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