LibreOffice Module comphelper (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
comphelper::OInterfaceIteratorHelper4< ListenerT > Class Template Reference

This is the iterator of an OInterfaceContainerHelper4. More...

#include <interfacecontainer4.hxx>

Collaboration diagram for comphelper::OInterfaceIteratorHelper4< ListenerT >:
[legend]

Public Member Functions

 OInterfaceIteratorHelper4 (OInterfaceContainerHelper4< ListenerT > &rCont_)
 Create an iterator over the elements of the container. More...
 
bool hasMoreElements () const
 Return true, if there are more elements in the iterator. More...
 
css::uno::Reference< ListenerT > const & next ()
 Return the next element of the iterator. More...
 
void remove ()
 Removes the current element (the last one returned by next()) from the underlying container. More...
 

Private Member Functions

 OInterfaceIteratorHelper4 (const OInterfaceIteratorHelper4 &)=delete
 
OInterfaceIteratorHelper4operator= (const OInterfaceIteratorHelper4 &)=delete
 

Private Attributes

OInterfaceContainerHelper4< ListenerT > & rCont
 
o3tl::cow_wrapper< std::vector< css::uno::Reference< ListenerT > > > maData
 
sal_Int32 nRemain
 

Detailed Description

template<class ListenerT>
class comphelper::OInterfaceIteratorHelper4< ListenerT >

This is the iterator of an OInterfaceContainerHelper4.

Typically one constructs an instance on the stack for one firing session. It is not allowed to assign or copy an instance of this class.

Template Parameters
ListenerTUNO event listener type
See also
OInterfaceContainerHelper4

Definition at line 47 of file interfacecontainer4.hxx.

Constructor & Destructor Documentation

template<class ListenerT>
comphelper::OInterfaceIteratorHelper4< ListenerT >::OInterfaceIteratorHelper4 ( OInterfaceContainerHelper4< ListenerT > &  rCont_)
inline

Create an iterator over the elements of the container.

The iterator copies the elements of the container. A change to the container during the lifetime of an iterator is allowed and does not affect the iterator-instance. The iterator and the container take cares themself for concurrent access, no additional guarding is necessary.

Remark: The copy is on demand. The iterator copy the elements only if the container change the contents...

Parameters
rContthe container of the elements.

Definition at line 62 of file interfacecontainer4.hxx.

References size.

template<class ListenerT>
comphelper::OInterfaceIteratorHelper4< ListenerT >::OInterfaceIteratorHelper4 ( const OInterfaceIteratorHelper4< ListenerT > &  )
privatedelete

Member Function Documentation

template<class ListenerT>
bool comphelper::OInterfaceIteratorHelper4< ListenerT >::hasMoreElements ( ) const
inline
template<class ListenerT >
const css::uno::Reference< ListenerT > & comphelper::OInterfaceIteratorHelper4< ListenerT >::next ( )

Return the next element of the iterator.

Calling this method if hasMoreElements() has returned false, is an error.

Definition at line 93 of file interfacecontainer4.hxx.

References maData.

Referenced by comphelper::OInterfaceContainerHelper4< ListenerT >::disposeAndClear(), and comphelper::OInterfaceContainerHelper4< ListenerT >::forEach().

template<class ListenerT>
OInterfaceIteratorHelper4& comphelper::OInterfaceIteratorHelper4< ListenerT >::operator= ( const OInterfaceIteratorHelper4< ListenerT > &  )
privatedelete
template<class ListenerT >
void comphelper::OInterfaceIteratorHelper4< ListenerT >::remove ( )

Removes the current element (the last one returned by next()) from the underlying container.

Calling this method before next() has been called or calling it twice with no next() in between is an error.

Definition at line 99 of file interfacecontainer4.hxx.

References maData.

Referenced by comphelper::OInterfaceContainerHelper4< ListenerT >::forEach().

Member Data Documentation

template<class ListenerT>
o3tl::cow_wrapper<std::vector<css::uno::Reference<ListenerT> > > comphelper::OInterfaceIteratorHelper4< ListenerT >::maData
private

Definition at line 85 of file interfacecontainer4.hxx.

template<class ListenerT>
sal_Int32 comphelper::OInterfaceIteratorHelper4< ListenerT >::nRemain
private
template<class ListenerT>
OInterfaceContainerHelper4<ListenerT>& comphelper::OInterfaceIteratorHelper4< ListenerT >::rCont
private

Definition at line 84 of file interfacecontainer4.hxx.


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