00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ATLFAST_AOOBASE_H
00012 #define ATLFAST_AOOBASE_H
00013
00014 #include "AtlfastEvent/IAOO.h"
00015 #include <algorithm>
00016 #include <vector>
00017 #include <iostream>
00018
00019 namespace Atlfast {
00020 using std::vector;
00021
00022 class AOObase: virtual public IAOO{
00023 public:
00024 AOObase(){}
00025 virtual std::vector<const IAOO*>::const_iterator begin() const;
00026 virtual std::vector<const IAOO*>::const_iterator end() const;
00027
00028 virtual ~AOObase();
00029
00030 virtual void associate( const IAOO* otherEntity );
00031 virtual bool unAssociated() const { return m_associations.empty() ; }
00032 virtual void reset() { m_associations.clear();}
00033 virtual void dump(const std::string&) const;
00034 private:
00036 std::vector<const IAOO*> m_associations ;
00037
00038
00039 };
00040 }
00041 #endif
00042
00043
00044
00045
00046
00047
00048