42 using Entry_t = std::pair<Id, RTFValue::Pointer_t>;
69 void deduplicateList(
const std::map<int, int>& rInvalidListLevelFirstIndents);
88 sal_uInt32
getId()
const override;
92 std::string
getName()
const override;
93 std::string
toString()
const override;
An SPRM: Section, Paragraph and Run Modifier.
RTF keyword with a parameter.
RTFValue::Pointer_t & m_pValue
writerfilter::Reference< Properties >::Pointer_t getProps() override
Returns reference to properties contained in the SPRM.
std::string getName() const override
Returns name of sprm.
Value::Pointer_t getValue() override
Returns value of the SPRM.
sal_uInt32 getId() const override
Returns id of the SPRM.
std::string toString() const override
Returns string representation of sprm.
RTFSprm(Id nKeyword, RTFValue::Pointer_t &pValue)
The payload of RTFSprms which is only copied on write.
A list of RTFSprm with a copy constructor that performs a deep copy.
RTFValue::Pointer_t find(Id nKeyword, bool bFirst=true, bool bForWrite=false)
bool equals(const RTFValue &rOther) const
RTFSprms & operator=(RTFSprms const &)=default
RTFSprms & operator=(RTFSprms &&)=default
RTFSprms(RTFSprms const &)=default
RTFSprms(RTFSprms &&)=default
void deduplicateList(const std::map< int, int > &rInvalidListLevelFirstIndents)
Removes duplicated values based on in-list properties.
std::pair< Id, RTFValue::Pointer_t > Entry_t
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.
tools::SvRef< RTFSprmsImpl > m_pSprms
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.
void ensureCopyBeforeWrite()
std::vector< Entry_t >::iterator Iterator_t
std::vector< Entry_t >::reverse_iterator ReverseIterator_t
void duplicateList(const RTFValue::Pointer_t &pAbstract)
Inserts default values to override attributes of pAbstract.
@ NO_IGNORE
No, if the key is already in the list, then ignore, otherwise append.
@ NO_APPEND
No, always append the value to the end of the list.
@ YES_PREPEND
Yes, always prepend the value to the start of the list and remove existing entries.
@ YES
Yes, if an existing key is found, overwrite it.
std::vector< std::pair< Id, RTFValue::Pointer_t > > RTFSprmsImplBase