pyIndexList.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: pyIndexList.h,v 1.2 2005/12/23 17:01:57 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_PYTHON_PYINDEXLIST_H
00008 #define BALL_PYTHON_PYINDEXLIST_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_STRING_H
00019 # include <BALL/DATATYPE/string.h>
00020 #endif
00021 
00022 namespace BALL 
00023 {
00029   class PyIndexList
00030     : public List<Index>
00031   {
00032     public:
00033 
00034     BALL_CREATE(PyIndexList)
00035 
00036     
00039 
00042     typedef Index ValueType;
00043 
00046     typedef Index PointerType;
00047 
00050     typedef List<Index>::iterator Iterator;
00051 
00054     typedef List<Index>::const_iterator ConstIterator;
00055 
00057 
00060 
00064     PyIndexList();
00065 
00067     PyIndexList(const PyIndexList& new_list);
00068       
00073     PyIndexList(const std::vector<Index>& indices);
00074 
00079     PyIndexList(const std::list<Index>& fragment);
00080 
00085     PyIndexList(const std::vector<Position>& indices);
00086 
00091     PyIndexList(const std::list<Position>& fragment);
00092 
00095     virtual ~PyIndexList() throw();
00097 
00101 
00103     PyIndexList& operator = (const std::list<Index>& idx_list);
00105     PyIndexList& operator = (const std::list<Position>& idx_list);
00107     PyIndexList& operator = (const std::vector<Index>& idx_list);
00109     PyIndexList& operator = (const std::vector<Position>& idx_list);
00111   };
00112    
00113 } // namespace BALL
00114 
00115 #endif // BALL_PYTHON_PYINDEXLIST_H