LibreOffice Module writerfilter (master) 1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
writerfilter::rtftok::RTFSprms Class Reference

A list of RTFSprm with a copy constructor that performs a deep copy. More...

#include <rtfsprm.hxx>

Inheritance diagram for writerfilter::rtftok::RTFSprms:
[legend]
Collaboration diagram for writerfilter::rtftok::RTFSprms:
[legend]

Public Types

using Pointer_t = tools::SvRef< RTFSprms >
 
using Entry_t = std::pair< Id, RTFValue::Pointer_t >
 
using Iterator_t = std::vector< Entry_t >::iterator
 
using ReverseIterator_t = std::vector< Entry_t >::reverse_iterator
 

Public Member Functions

 RTFSprms ()
 
 ~RTFSprms () override
 
 RTFSprms (RTFSprms const &)=default
 
 RTFSprms (RTFSprms &&)=default
 
RTFSprmsoperator= (RTFSprms const &)=default
 
RTFSprmsoperator= (RTFSprms &&)=default
 
RTFValue::Pointer_t find (Id nKeyword, bool bFirst=true, bool bForWrite=false)
 
void set (Id nKeyword, const RTFValue::Pointer_t &pValue, RTFOverwrite eOverwrite=RTFOverwrite::YES)
 Does the same as ->push_back(), except that it can overwrite or ignore existing entries. More...
 
bool erase (Id nKeyword)
 
void eraseLast (Id nKeyword)
 
RTFSprms cloneAndDeduplicate (RTFSprms &rReference, Id nStyleType, bool bImplicitPPr=false, RTFSprms *pDirect=nullptr) const
 Removes elements which are already in the reference set. More...
 
void duplicateList (const RTFValue::Pointer_t &pAbstract)
 Inserts default values to override attributes of pAbstract. More...
 
void deduplicateList (const std::map< int, int > &rInvalidListLevelFirstIndents)
 Removes duplicated values based on in-list properties. More...
 
std::size_t size () const
 
bool empty () const
 
Entry_tback ()
 
Iterator_t begin ()
 
Iterator_t end ()
 
void clear ()
 
bool equals (const RTFValue &rOther) const
 
- Public Member Functions inherited from SvRefBase
 SvRefBase ()
 
 SvRefBase (const SvRefBase &)
 
SvRefBaseoperator= (const SvRefBase &)
 
void RestoreNoDelete ()
 
void AddNextRef ()
 
void AddFirstRef ()
 
void ReleaseRef ()
 
unsigned int GetRefCount () const
 

Private Member Functions

void ensureCopyBeforeWrite ()
 

Private Attributes

tools::SvRef< RTFSprmsImplm_pSprms
 

Additional Inherited Members

- Protected Member Functions inherited from SvRefBase
virtual ~SvRefBase () COVERITY_NOEXCEPT_FALSE
 

Detailed Description

A list of RTFSprm with a copy constructor that performs a deep copy.

Definition at line 38 of file rtfsprm.hxx.

Member Typedef Documentation

◆ Entry_t

Definition at line 42 of file rtfsprm.hxx.

◆ Iterator_t

using writerfilter::rtftok::RTFSprms::Iterator_t = std::vector<Entry_t>::iterator

Definition at line 43 of file rtfsprm.hxx.

◆ Pointer_t

Definition at line 41 of file rtfsprm.hxx.

◆ ReverseIterator_t

using writerfilter::rtftok::RTFSprms::ReverseIterator_t = std::vector<Entry_t>::reverse_iterator

Definition at line 44 of file rtfsprm.hxx.

Constructor & Destructor Documentation

◆ RTFSprms() [1/3]

writerfilter::rtftok::RTFSprms::RTFSprms ( )

Definition at line 457 of file rtfsprm.cxx.

◆ ~RTFSprms()

writerfilter::rtftok::RTFSprms::~RTFSprms ( )
overridedefault

◆ RTFSprms() [2/3]

writerfilter::rtftok::RTFSprms::RTFSprms ( RTFSprms const &  )
default

◆ RTFSprms() [3/3]

writerfilter::rtftok::RTFSprms::RTFSprms ( RTFSprms &&  )
default

Member Function Documentation

◆ back()

Entry_t & writerfilter::rtftok::RTFSprms::back ( )
inline

Definition at line 72 of file rtfsprm.hxx.

References m_pSprms.

◆ begin()

Iterator_t writerfilter::rtftok::RTFSprms::begin ( )
inline

Definition at line 73 of file rtfsprm.hxx.

References m_pSprms.

◆ clear()

void writerfilter::rtftok::RTFSprms::clear ( )

◆ cloneAndDeduplicate()

RTFSprms writerfilter::rtftok::RTFSprms::cloneAndDeduplicate ( RTFSprms rReference,
Id  nStyleType,
bool  bImplicitPPr = false,
RTFSprms pDirect = nullptr 
) const

Removes elements which are already in the reference set.

Also insert default values to override attributes of style (yes, really; that's what Word does).

Parameters
bImplicitPPrimplicit dereference of top-level pPr SPRM
pDirectpointer to the root of the direct formatting SPRM tree, if any

Definition at line 412 of file rtfsprm.cxx.

References writerfilter::rtftok::cloneAndDeduplicateSprm(), ensureCopyBeforeWrite(), and i.

Referenced by writerfilter::rtftok::RTFDocumentImpl::deduplicateStyleTable(), and writerfilter::rtftok::RTFDocumentImpl::getProperties().

◆ deduplicateList()

void writerfilter::rtftok::RTFSprms::deduplicateList ( const std::map< int, int > &  rInvalidListLevelFirstIndents)

◆ duplicateList()

void writerfilter::rtftok::RTFSprms::duplicateList ( const RTFValue::Pointer_t pAbstract)

◆ empty()

bool writerfilter::rtftok::RTFSprms::empty ( ) const
inline

◆ end()

Iterator_t writerfilter::rtftok::RTFSprms::end ( )
inline

Definition at line 74 of file rtfsprm.hxx.

References m_pSprms.

◆ ensureCopyBeforeWrite()

void writerfilter::rtftok::RTFSprms::ensureCopyBeforeWrite ( )
private

Definition at line 445 of file rtfsprm.cxx.

References m_pSprms.

Referenced by cloneAndDeduplicate(), erase(), eraseLast(), find(), and set().

◆ equals()

bool writerfilter::rtftok::RTFSprms::equals ( const RTFValue rOther) const

Definition at line 437 of file rtfsprm.cxx.

References m_pSprms.

◆ erase()

bool writerfilter::rtftok::RTFSprms::erase ( Id  nKeyword)

◆ eraseLast()

void writerfilter::rtftok::RTFSprms::eraseLast ( Id  nKeyword)

Definition at line 149 of file rtfsprm.cxx.

References base, ensureCopyBeforeWrite(), i, and m_pSprms.

Referenced by writerfilter::rtftok::RTFDocumentImpl::dispatchSymbol().

◆ find()

RTFValue::Pointer_t writerfilter::rtftok::RTFSprms::find ( Id  nKeyword,
bool  bFirst = true,
bool  bForWrite = false 
)

◆ operator=() [1/2]

RTFSprms & writerfilter::rtftok::RTFSprms::operator= ( RTFSprms &&  )
default

◆ operator=() [2/2]

RTFSprms & writerfilter::rtftok::RTFSprms::operator= ( RTFSprms const &  )
default

◆ set()

void writerfilter::rtftok::RTFSprms::set ( Id  nKeyword,
const RTFValue::Pointer_t pValue,
RTFOverwrite  eOverwrite = RTFOverwrite::YES 
)

Does the same as ->push_back(), except that it can overwrite or ignore existing entries.

Definition at line 98 of file rtfsprm.cxx.

References ensureCopyBeforeWrite(), m_pSprms, writerfilter::rtftok::NO_APPEND, writerfilter::rtftok::NO_IGNORE, writerfilter::rtftok::YES, and writerfilter::rtftok::YES_PREPEND.

Referenced by writerfilter::rtftok::RTFDocumentImpl::afterPopState(), writerfilter::rtftok::RTFDocumentImpl::beforePopState(), writerfilter::rtftok::cloneAndDeduplicateSprm(), writerfilter::rtftok::RTFDocumentImpl::createStyleProperties(), writerfilter::rtftok::RTFDocumentImpl::dispatchCharacterSprmValue(), writerfilter::rtftok::RTFDocumentImpl::dispatchDestination(), writerfilter::rtftok::RTFDocumentImpl::dispatchFlag(), writerfilter::rtftok::RTFDocumentImpl::dispatchParagraphSprmValue(), writerfilter::rtftok::RTFDocumentImpl::dispatchSymbol(), writerfilter::rtftok::RTFDocumentImpl::dispatchTableSprmValue(), writerfilter::rtftok::RTFDocumentImpl::dispatchTableValue(), writerfilter::rtftok::RTFDocumentImpl::dispatchToggle(), writerfilter::rtftok::RTFDocumentImpl::dispatchValue(), writerfilter::rtftok::getDefaultSPRM(), writerfilter::rtftok::RTFFrame::getSprms(), writerfilter::rtftok::RTFDocumentImpl::handleEmbeddedObject(), writerfilter::rtftok::RTFDocumentImpl::handleFontTableEntry(), writerfilter::rtftok::lcl_copyFlatten(), writerfilter::rtftok::lcl_getBookmarkProperties(), writerfilter::rtftok::RTFDocumentImpl::popState(), writerfilter::rtftok::RTFDocumentImpl::prepareProperties(), writerfilter::rtftok::RTFDocumentImpl::pushState(), writerfilter::rtftok::putBorderProperty(), writerfilter::rtftok::putNestedAttribute(), writerfilter::rtftok::RTFDocumentImpl::replayBuffer(), writerfilter::rtftok::RTFDocumentImpl::resetTableRowProperties(), writerfilter::rtftok::RTFSdrImport::resolve(), writerfilter::rtftok::RTFDocumentImpl::resolvePict(), writerfilter::rtftok::RTFDocumentImpl::sectBreak(), and writerfilter::rtftok::RTFDocumentImpl::text().

◆ size()

std::size_t writerfilter::rtftok::RTFSprms::size ( ) const
inline

Definition at line 70 of file rtfsprm.hxx.

References m_pSprms.

Member Data Documentation

◆ m_pSprms

tools::SvRef<RTFSprmsImpl> writerfilter::rtftok::RTFSprms::m_pSprms
private

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