boost/python/list.hpp
はじめに
Python の list 型に対する TypeWrapper をエクスポートする。
クラス
list
クラス
-
class list : public object
Python の組み込み
list
型のシーケンス型プロトコルをエクスポートする。以下に定義するコンストラクタとメンバ関数のセマンティクスを完全に理解するには、TypeWrapper コンセプトの定義を読むことである。list
はobject
から公開派生しているので、object
の公開インターフェイスはlist
のインスタンスにも当てはまる。
list
クラスの概要
namespace boost { namespace python
{
class list : public object
{
public:
list(); // list を新規作成する
template <class T>
explicit list(T const& sequence);
template <class T>
void append(T const& x);
template <class T>
long count(T const& value) const;
template <class T>
void extend(T const& x);
template <class T>
long index(T const& x) const;
template <class T>
void insert(object const& index, T const& x); // index の前にオブジェクトを挿入する
object pop(); // index 位置(既定は末尾)の要素を削除して返す
object pop(long index);
object pop(object const& index);
template <class T>
void remove(T const& value);
void reverse(); // 「その場で」逆順に入れ替える
void sort(); // 「その場で」ソートする。比較関数を与える場合の形式は cmpfunc(x, y) -> -1, 0, 1
template <class T>
void sort(T const& value);
};
}}
例
using namespace boost::python;
// リスト内の 0 の数を返す
long zeroes(list l)
{
return l.count(0);
}