00001
00002 #ifndef SL_DIRECTORY_LIST_HPP
00003 #define SL_DIRECTORY_LIST_HPP
00004
00005 #include <boost/shared_ptr.hpp>
00006
00007 #include "segusoland.hpp"
00008 #include "SLDirectory.hpp"
00009
00010 SL_NAMESPACE_BEGIN
00011
00012
00013 class SLDirectory;
00014
00027 class SLDirectoryList {
00028 public:
00033 SLDirectoryList(unsigned int initial_capacity);
00034
00040 const SLDirectory &operator[](unsigned int index) const;
00041
00047 void push_back(const SLDirectory &file);
00048
00053 unsigned int size() const;
00054
00060 void sort();
00061
00062 protected:
00067 class Data;
00068
00073 boost::shared_ptr<Data> _shared_ptr;
00074
00078 bool _isSorted;
00079 };
00080
00081 SL_NAMESPACE_END
00082 #endif // #define SL_DIRECTORY_LIST_HPP
00083
00084
00085
00086
00087
00088