boost/python/dict.hpp
はじめに
Python の dict 型に対する TypeWrapper をエクスポートする。
クラス
dict
クラス
-
class dict : public object
Python の組み込み
dict
型のマップ型プロトコルをエクスポートする。以下に定義するコンストラクタとメンバ関数のセマンティクスを完全に理解するには、TypeWrapper コンセプトの定義を読むことである。dict
はobject
から公開派生しているので、object
の公開インターフェイスはdict
のインスタンスにも当てはまる。
dict
クラスの概要
namespace boost { namespace python
{
class dict : public object
{
dict();
template< class T >
dict(T const & data);
// 変更
void clear();
dict copy();
template <class T1, class T2>
tuple popitem();
template <class T>
object setdefault(T const &k);
template <class T1, class T2>
object setdefault(T1 const & k, T2 const & d);
void update(object_cref E);
template< class T >
void update(T const & E);
// オブザーバ
list values() const;
object get(object_cref k) const;
template<class T>
object get(T const & k) const;
object get(object_cref k, object_cref d) const;
object get(T1 const & k, T2 const & d) const;
bool has_key(object_cref k) const;
template< class T >
bool has_key(T const & k) const;
list items() const;
object iteritems() const;
object iterkeys() const;
object itervalues() const;
list keys() const;
};
}}
例
using namespace boost::python;
dict swap_object_dict(object target, dict d)
{
dict result = extract<dict>(target.attr("__dict__"));
target.attr("__dict__") = d;
return result;
}