LibreOffice Module sw (master)  1
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Attributes | Friends | List of all members
sw::Ring< value_type > Class Template Reference

#include <ring.hxx>

Inheritance diagram for sw::Ring< value_type >:
[legend]
Collaboration diagram for sw::Ring< value_type >:
[legend]

Classes

struct  Ring_node_traits
 internal implementation class – not for external use More...
 

Public Types

typedef std::add_const< value_type >::type const_value_type
 
typedef RingContainer< value_type > ring_container
 
typedef RingContainer< const_value_typeconst_ring_container
 

Public Member Functions

virtual ~Ring () COVERITY_NOEXCEPT_FALSE
 
void unlink ()
 algo::unlink is buggy! don't call it directly! More...
 
void MoveTo (value_type *pDestRing)
 Removes this item from its current ring container and adds it to another ring container. More...
 
ring_container GetRingContainer ()
 
const_ring_container GetRingContainer () const
 

Protected Member Functions

 Ring ()
 Creates a new item in a ring container all by itself. More...
 
 Ring (value_type *pRing)
 Creates a new item and add it to an existing ring container. More...
 
value_type * GetNextInRing ()
 
value_type * GetPrevInRing ()
 
const_value_typeGetNextInRing () const
 
const_value_typeGetPrevInRing () const
 
bool unique () const
 

Private Types

typedef boost::intrusive::circular_list_algorithms< Ring_node_traitsalgo
 

Private Attributes

friend ring_container
 
friend const_ring_container
 
Ringm_pNext
 
Ringm_pPrev
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename value_type>
class sw::Ring< value_type >

Definition at line 38 of file ring.hxx.

Member Typedef Documentation

template<typename value_type>
typedef boost::intrusive::circular_list_algorithms<Ring_node_traits> sw::Ring< value_type >::algo
private

Definition at line 118 of file ring.hxx.

template<typename value_type>
typedef RingContainer<const_value_type> sw::Ring< value_type >::const_ring_container

Definition at line 43 of file ring.hxx.

template<typename value_type>
typedef std::add_const<value_type>::type sw::Ring< value_type >::const_value_type

Definition at line 41 of file ring.hxx.

template<typename value_type>
typedef RingContainer<value_type> sw::Ring< value_type >::ring_container

Definition at line 42 of file ring.hxx.

Constructor & Destructor Documentation

template<typename value_type>
virtual sw::Ring< value_type >::~Ring ( )
inlinevirtual

Definition at line 44 of file ring.hxx.

template<typename value_type>
sw::Ring< value_type >::Ring ( )
inlineprotected

Creates a new item in a ring container all by itself.

Note: Ring instances can newer be outside a container. At most, they are alone in one.

Definition at line 73 of file ring.hxx.

template<typename value_type>
sw::Ring< value_type >::Ring ( value_type *  pRing)
inlineprotected

Creates a new item and add it to an existing ring container.

Note: the newly created item will be inserted just before item pRing.

Parameters
pRingring container to add the created item to

Definition at line 124 of file ring.hxx.

Member Function Documentation

template<typename value_type>
value_type* sw::Ring< value_type >::GetNextInRing ( )
inlineprotected
Returns
the next item in the ring container

Definition at line 84 of file ring.hxx.

Referenced by SwNodeIndex::DeRegisterIndex(), and SwPaM::GetNext().

template<typename value_type>
const_value_type* sw::Ring< value_type >::GetNextInRing ( ) const
inlineprotected
Returns
the next item in the ring container

Definition at line 90 of file ring.hxx.

template<typename value_type>
value_type* sw::Ring< value_type >::GetPrevInRing ( )
inlineprotected
Returns
the previous item in the ring container

Definition at line 87 of file ring.hxx.

Referenced by SwPaM::GetPrev().

template<typename value_type>
const_value_type* sw::Ring< value_type >::GetPrevInRing ( ) const
inlineprotected
Returns
the previous item in the ring container

Definition at line 93 of file ring.hxx.

template<typename value_type >
Ring< value_type >::ring_container sw::Ring< value_type >::GetRingContainer ( )
inline
Returns
a stl-like container with begin()/end() for iteration

Definition at line 240 of file ring.hxx.

Referenced by AdjustSizeChgNotify(), SwEditShell::AutoFormat(), SwDrawContact::Changed(), ClearFEShellTabCols(), SwEditShell::Copy(), SwAutoFormat::DeleteSelImpl(), SwRootFrame::DeRegisterShell(), SwViewShellImp::DisposeAccessible(), SwFindParaAttr::DoFind(), SwCursorShell::dumpAsXml(), SwBaseShell::ExecUndo(), SwCursor::FindAll(), SwFlyFrame::FinitDrawObj(), SwDoc::GetAllLayouts(), SwUnoCursorHelper::GetCursorAttr(), SwDoc::GetEditShell(), SwDPage::GetGridFrameList(), sw::DocumentTimerManager::GetNextIdleJob(), SwEditShell::GetPaMAttr(), SwEditShell::GetPaMParAttr(), SwEditShell::GetPaMTextFormatColl(), SwAccessibleParagraph::getSelectedPortionCount(), SwAccessibleParagraph::GetSelectionAtIndex(), SwCursorShell::HasReadonlySel(), sw::DocumentDrawModelManager::InitDrawModel(), SwEditShell::Insert2(), SwViewShellImp::InvalidateAccessibleFrameContent(), SwAccessibleMap::InvalidateShapeInParaSelection(), SwEditShell::IsMoveLeftMargin(), lcl_emitSearchResultCallbacks(), lcl_InvalidateAll(), lcl_MoveAllLowerObjs(), SwDocShell::LockAllViewsGuard::LockAllViewsGuard(), sw::DocumentDrawModelManager::MakeDrawModel_(), SwDoc::MakeFlyAndMove(), SwNoTextFrame::Modify(), SwViewShellImp::MoveAccessible(), SwRootFrame::PaintSwFrame(), PaMCorrAbs(), PaMCorrRel(), PaMIntoCursorShellRing::PaMIntoCursorShellRing(), SwFEShell::ParkCursorInTab(), SwFEShell::Paste(), sw::DocumentDeviceManager::PrtDataChanged(), SwDoc::PrtOLENotify(), SwNodes::RemoveNode(), sw::UndoManager::Repeat(), SwEditShell::ResetAttr(), SwEditShell::SetAttrSet(), SwOLENode::SetChanged(), SwUnoCursorHelper::SetCursorAttr(), sw_ChangeOffset(), SwLayIdle::SwLayIdle(), SwTextNode::Update(), SwCursorShell::UpdateCursor(), and SwContentNotify::~SwContentNotify().

template<typename value_type >
Ring< value_type >::const_ring_container sw::Ring< value_type >::GetRingContainer ( ) const
inline
Returns
a stl-like container with begin()/end() for const iteration

Definition at line 244 of file ring.hxx.

template<typename value_type>
void sw::Ring< value_type >::MoveTo ( value_type *  pDestRing)
inline

Removes this item from its current ring container and adds it to another ring container.

If the item was not alone in the original ring container, the other items in the ring will stay in the old ring container. Note: the newly created item will be inserted just before item pDestRing.

Parameters
pDestRingthe container to add this item to

Definition at line 135 of file ring.hxx.

Referenced by SwCursorShell::Combine(), sw::DeepCopyPaM(), SwAutoFormat::DeleteSelImpl(), SwNodeIndex::DeRegisterIndex(), SwFindParaText::DoFind(), SwFindParaAttr::DoFind(), SwNodeIndex::RegisterIndex(), PaMIntoCursorShellRing::RemoveFromRing(), and SwAccessibleParagraph::removeSelection().

template<typename value_type>
bool sw::Ring< value_type >::unique ( ) const
inlineprotected
Returns
true if and only if this item is alone in its ring

Definition at line 96 of file ring.hxx.

Referenced by SwPaM::IsMultiSelection().

template<typename value_type>
void sw::Ring< value_type >::unlink ( )
inline

algo::unlink is buggy! don't call it directly!

Definition at line 47 of file ring.hxx.

Friends And Related Function Documentation

template<typename value_type>
friend class boost::iterator_core_access
friend

Definition at line 117 of file ring.hxx.

Member Data Documentation

template<typename value_type>
friend sw::Ring< value_type >::const_ring_container
private

Definition at line 112 of file ring.hxx.

template<typename value_type>
Ring* sw::Ring< value_type >::m_pNext
private

Definition at line 119 of file ring.hxx.

Referenced by sw::Ring< value_type >::Ring_node_traits::set_next().

template<typename value_type>
Ring* sw::Ring< value_type >::m_pPrev
private

Definition at line 120 of file ring.hxx.

Referenced by sw::Ring< value_type >::Ring_node_traits::set_previous().

template<typename value_type>
friend sw::Ring< value_type >::ring_container
private

Definition at line 111 of file ring.hxx.


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