00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: pyCompositeList.h,v 1.6.20.1 2007/03/25 21:25:20 oliver Exp $ 00005 // 00006 00007 #ifndef BALL_PYTHON_PYCOMPOSITELIST_H 00008 #define BALL_PYTHON_PYCOMPOSITELIST_H 00009 00010 #ifndef BALL_COMMON_H 00011 # include <BALL/common.h> 00012 #endif 00013 00014 #ifndef BALL_DATAYPE_LIST_H 00015 # include <BALL/DATATYPE/list.h> 00016 #endif 00017 00018 #ifndef BALL_DATAYPE_HASHSET_H 00019 # include <BALL/DATATYPE/hashSet.h> 00020 #endif 00021 00022 #ifndef BALL_VIEW_KERNEL_REPRESENTATION_H 00023 # include <BALL/VIEW/KERNEL/representation.h> 00024 #endif 00025 00026 namespace BALL 00027 { 00028 class Composite; 00029 00033 class PyCompositeList 00034 : public List<Composite*> 00035 { 00036 public: 00037 00038 BALL_CREATE(PyCompositeList) 00039 00040 00043 00046 typedef Composite* ValueType; 00047 00050 typedef Composite** PointerType; 00051 00054 typedef List<Composite*>::iterator Iterator; 00055 00058 typedef List<Composite*>::const_iterator ConstIterator; 00059 00061 00064 00068 PyCompositeList(); 00069 00071 PyCompositeList(const PyCompositeList& composite_list); 00072 00074 PyCompositeList(const List<Composite*>& composite_list); 00075 00077 PyCompositeList(const List<const Composite*>& composite_list); 00078 00080 PyCompositeList& operator = (const List<const Composite*>& composite_list) throw(); 00081 00083 PyCompositeList(const HashSet<const Composite*>& composite_set); 00084 00086 PyCompositeList(const HashSet<Composite*>& composite_set); 00087 00089 virtual ~PyCompositeList() throw(); 00091 }; 00092 00093 } // namespace BALL 00094 00095 #endif // BALL_PYTHON_PYCOMPOSITELIST_H