00001 00013 #ifndef StiTrackContainer_HH 00014 #define StiTrackContainer_HH 00015 #include "Sti/Base/Named.h" 00016 #include "Sti/Base/Described.h" 00017 #include <vector> 00018 using namespace std; 00019 00020 class StiTrack; 00021 template<class Filtered>class Filter; 00022 00024 struct StiTrackLessThan 00025 { 00026 bool operator()(const StiTrack* lhs, const StiTrack* rhs) const; 00027 }; 00028 00029 class StiTrackContainer : public vector<StiTrack*>, public Named, public Described 00030 { 00031 public: 00032 00033 StiTrackContainer(const string & name, const string & description); 00034 virtual ~StiTrackContainer(); 00035 void add(StiTrack * track); 00036 int getTrackCount(Filter<StiTrack> * filter) const; 00037 void sort(); 00038 00039 }; 00040 00041 00043 inline void StiTrackContainer::add(StiTrack * track) 00044 { 00045 push_back(track); 00046 } 00047 00048 #endif
1.5.9