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_HASHSET_H 00015 # include <BALL/DATATYPE/hashSet.h> 00016 #endif 00017 00018 #ifndef BALL_VIEW_KERNEL_REPRESENTATION_H 00019 # include <BALL/VIEW/KERNEL/representation.h> 00020 #endif 00021 00022 namespace BALL 00023 { 00024 class Composite; 00025 00029 class PyCompositeList 00030 : public std::list<Composite*> 00031 { 00032 public: 00033 00034 BALL_CREATE(PyCompositeList) 00035 00036 00039 00042 typedef Composite* ValueType; 00043 00046 typedef Composite** PointerType; 00047 00050 typedef std::list<Composite*>::iterator Iterator; 00051 00054 typedef std::list<Composite*>::const_iterator ConstIterator; 00055 00057 00060 00064 PyCompositeList(); 00065 00067 PyCompositeList(const PyCompositeList& composite_list); 00068 00070 PyCompositeList(const std::list<Composite*>& composite_list); 00071 00073 PyCompositeList(const std::list<const Composite*>& composite_list); 00074 00076 PyCompositeList& operator = (const std::list<const Composite*>& composite_list); 00077 00079 PyCompositeList(const HashSet<const Composite*>& composite_set); 00080 00082 PyCompositeList(const HashSet<Composite*>& composite_set); 00083 00085 virtual ~PyCompositeList() throw(); 00087 }; 00088 00089 } // namespace BALL 00090 00091 #endif // BALL_PYTHON_PYCOMPOSITELIST_H