OpenDDS::FileSystemStorage::Directory::Iterator< Item > Class Template Reference

Collaboration diagram for OpenDDS::FileSystemStorage::Directory::Iterator< Item >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Item::Ptr operator* () const
Item::Ptr operator-> () const
Iteratoroperator++ ()
Iterator operator++ (int)
bool operator== (const Iterator &rhs) const
bool operator!= (const Iterator &rhs) const

Private Types

typedef Map::iterator IterDelegate

Private Member Functions

 Iterator (const IterDelegate &del, const Directory::Ptr &outer)
Item::Ptr deref () const

Private Attributes

IterDelegate delegate_
Directory::Ptr outer_
Item::Ptr item_

Friends

class Directory

Detailed Description

template<typename Item>
class OpenDDS::FileSystemStorage::Directory::Iterator< Item >

Definition at line 115 of file FileSystemStorage.h.


Member Typedef Documentation

template<typename Item >
typedef Map::iterator OpenDDS::FileSystemStorage::Directory::Iterator< Item >::IterDelegate [private]

Definition at line 149 of file FileSystemStorage.h.


Constructor & Destructor Documentation

template<typename Item >
OpenDDS::FileSystemStorage::Directory::Iterator< Item >::Iterator ( const IterDelegate del,
const Directory::Ptr outer 
) [inline, private]

Definition at line 150 of file FileSystemStorage.h.

00151         : delegate_(del)
00152         , outer_(outer)
00153         , item_() {}


Member Function Documentation

template<typename Item >
Item::Ptr OpenDDS::FileSystemStorage::Directory::Iterator< Item >::deref (  )  const [inline, private]

Definition at line 155 of file FileSystemStorage.h.

00155                                    {
00156       if (item_.is_nil()) {
00157         item_ = OpenDDS::DCPS::make_rch<Item>(outer_->full_path(delegate_->second),
00158                               delegate_->first, outer_);
00159       }
00160 
00161       return item_;
00162     }

template<typename Item >
bool OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator!= ( const Iterator< Item > &  rhs  )  const [inline]

Definition at line 143 of file FileSystemStorage.h.

References OpenDDS::FileSystemStorage::Directory::Iterator< Item >::delegate_.

00143                                                {
00144       return delegate_ != rhs.delegate_;
00145     }

template<typename Item >
Item::Ptr OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator* ( void   )  const [inline]

Definition at line 118 of file FileSystemStorage.h.

00118                                        {
00119       return deref();
00120     }

template<typename Item >
Iterator OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator++ ( int   )  [inline]

Definition at line 132 of file FileSystemStorage.h.

00132                              {
00133       Iterator tmp(*this);
00134       ++delegate_;
00135       item_.reset();
00136       return tmp;
00137     }

template<typename Item >
Iterator& OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator++ ( void   )  [inline]

Definition at line 126 of file FileSystemStorage.h.

00126                            {
00127       ++delegate_;
00128       item_.reset();
00129       return *this;
00130     }

template<typename Item >
Item::Ptr OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator-> ( void   )  const [inline]

Definition at line 122 of file FileSystemStorage.h.

00122                                         {
00123       return deref();
00124     }

template<typename Item >
bool OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator== ( const Iterator< Item > &  rhs  )  const [inline]

Definition at line 139 of file FileSystemStorage.h.

References OpenDDS::FileSystemStorage::Directory::Iterator< Item >::delegate_.

00139                                                {
00140       return delegate_ == rhs.delegate_;
00141     }


Friends And Related Function Documentation

template<typename Item >
friend class Directory [friend]

Definition at line 148 of file FileSystemStorage.h.


Member Data Documentation

template<typename Item >
IterDelegate OpenDDS::FileSystemStorage::Directory::Iterator< Item >::delegate_ [private]
template<typename Item >
Item::Ptr OpenDDS::FileSystemStorage::Directory::Iterator< Item >::item_ [mutable, private]

Definition at line 166 of file FileSystemStorage.h.

template<typename Item >
Directory::Ptr OpenDDS::FileSystemStorage::Directory::Iterator< Item >::outer_ [private]

Definition at line 165 of file FileSystemStorage.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1