00001
00002 #ifndef SL_DEVICE_LIST_HPP
00003 #define SL_DEVICE_LIST_HPP
00004
00005 #include <boost/shared_ptr.hpp>
00006
00007 #include "segusoland.hpp"
00008 #include "SLDevice.hpp"
00009
00010 SL_NAMESPACE_BEGIN
00011
00036 class SLDeviceList {
00037 public:
00042 SLDeviceList(unsigned int initial_capacity);
00043
00049 const SLDevice &operator[](unsigned int index);
00050
00056 void push_back(const SLDevice &dev);
00057
00062 unsigned int size();
00063
00069 void sort();
00070
00071 protected:
00076 class Data;
00077
00082 boost::shared_ptr<Data> _shared_ptr;
00083
00087 bool _isSorted;
00088 };
00089
00090 SL_NAMESPACE_END
00091 #endif // #define SL_DEVICE_LIST_HPP
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103