1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: pyIndexList.h,v 1.2 2005/12/23 17:01:57 amoll Exp $
//
#ifndef BALL_PYTHON_PYINDEXLIST_H
#define BALL_PYTHON_PYINDEXLIST_H
#ifndef BALL_COMMON_H
# include <BALL/common.h>
#endif
#ifndef BALL_DATAYPE_STRING_H
# include <BALL/DATATYPE/string.h>
#endif
namespace BALL
{
/** Equivalent for an STL::List of numbers/indices in Python.
This is used to express both, lits and arrays of signed/unsigned
integers in Python.
\ingroup PythonExtensions
*/
class PyIndexList
: public std::list<Index>
{
public:
BALL_CREATE(PyIndexList)
/** @name Type Definitions
*/
//@{
/** Index type
*/
typedef Index ValueType;
/** Pointer type
*/
typedef Index PointerType;
/** Iterator type.
*/
typedef std::list<Index>::iterator Iterator;
/** Constant iterator type.
*/
typedef std::list<Index>::const_iterator ConstIterator;
//@}
/** @name Constructors and Destructors */
//@{
/** Default constructor.
Create an empty list.
*/
PyIndexList();
/// Copy constructor
PyIndexList(const PyIndexList& new_list);
/** Construct from a vector of Index.
This constructor creates an PyIndexList object from
a vector of Index.
*/
PyIndexList(const std::vector<Index>& indices);
/** Construct from a list of Index.
This constructor creates an PyIndexList object from
a list of Index objects.
*/
PyIndexList(const std::list<Index>& fragment);
/** Construct from a vector of Index.
This constructor creates an PyIndexList object from
a vector of Index.
*/
PyIndexList(const std::vector<Position>& indices);
/** Construct from a list of Index.
This constructor creates an PyIndexList object from
a list of Index objects.
*/
PyIndexList(const std::list<Position>& fragment);
/** Destructor
*/
virtual ~PyIndexList() throw();
//@}
/** @name Assignment
*/
//@{
///
PyIndexList& operator = (const std::list<Index>& idx_list);
///
PyIndexList& operator = (const std::list<Position>& idx_list);
///
PyIndexList& operator = (const std::vector<Index>& idx_list);
///
PyIndexList& operator = (const std::vector<Position>& idx_list);
//@}
};
} // namespace BALL
#endif // BALL_PYTHON_PYINDEXLIST_H
|