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, Directory *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 113 of file FileSystemStorage.h.


Member Typedef Documentation

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

Definition at line 147 of file FileSystemStorage.h.


Constructor & Destructor Documentation

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

Definition at line 148 of file FileSystemStorage.h.

00149         : delegate_(del)
00150         , outer_(outer, false)
00151         , item_() {}


Member Function Documentation

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

Definition at line 153 of file FileSystemStorage.h.

00153                                    {
00154       if (item_.is_nil()) {
00155         item_ = new Item(outer_->full_path(delegate_->second),
00156                          delegate_->first, outer_.in());
00157       }
00158 
00159       return item_;
00160     }

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

Definition at line 116 of file FileSystemStorage.h.

00116                                        {
00117       return deref();
00118     }

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

Definition at line 141 of file FileSystemStorage.h.

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

00141                                                {
00142       return delegate_ != rhs.delegate_;
00143     }

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

Definition at line 130 of file FileSystemStorage.h.

00130                              {
00131       Iterator tmp(*this);
00132       ++delegate_;
00133       item_ = 0;
00134       return tmp;
00135     }

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

Definition at line 124 of file FileSystemStorage.h.

00124                            {
00125       ++delegate_;
00126       item_ = 0;
00127       return *this;
00128     }

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

Definition at line 120 of file FileSystemStorage.h.

00120                                         {
00121       return deref();
00122     }

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

Definition at line 137 of file FileSystemStorage.h.

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

00137                                                {
00138       return delegate_ == rhs.delegate_;
00139     }


Friends And Related Function Documentation

template<typename Item>
friend class Directory [friend]

Definition at line 146 of file FileSystemStorage.h.


Member Data Documentation

template<typename Item>
IterDelegate OpenDDS::FileSystemStorage::Directory::Iterator< Item >::delegate_ [private]

Definition at line 162 of file FileSystemStorage.h.

Referenced by OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator!=(), and OpenDDS::FileSystemStorage::Directory::Iterator< Item >::operator==().

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

Definition at line 164 of file FileSystemStorage.h.

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

Definition at line 163 of file FileSystemStorage.h.


The documentation for this class was generated from the following file:
Generated on Fri Feb 12 20:06:47 2016 for OpenDDS by  doxygen 1.4.7