object_items.hpp

来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 90 行

HPP
90
字号
// Copyright David Abrahams 2002.// Distributed under the Boost Software License, Version 1.0. (See// accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)#ifndef OBJECT_ITEMS_DWA2002615_HPP# define OBJECT_ITEMS_DWA2002615_HPP# include <boost/python/detail/prefix.hpp># include <boost/python/proxy.hpp># include <boost/python/object_core.hpp># include <boost/python/object_protocol.hpp>namespace boost { namespace python { namespace api {struct const_item_policies{    typedef object key_type;    static object get(object const& target, object const& key);};  struct item_policies : const_item_policies{    static object const& set(object const& target, object const& key, object const& value);    static void del(object const& target, object const& key);};//// implementation//template <class U>inline object_itemobject_operators<U>::operator[](object_cref key){    object_cref2 x = *static_cast<U*>(this);    return object_item(x, key);}template <class U>inline const_object_itemobject_operators<U>::operator[](object_cref key) const{    object_cref2 x = *static_cast<U const*>(this);    return const_object_item(x, key);}# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300template <class U>template <class T>inline const_object_itemobject_operators<U>::operator[](T const& key) const{    return (*this)[object(key)];}template <class U>template <class T>inline object_itemobject_operators<U>::operator[](T const& key){    return (*this)[object(key)];}# endif inline object const_item_policies::get(object const& target, object const& key){    return getitem(target, key);}inline object const& item_policies::set(    object const& target    , object const& key    , object const& value){    setitem(target, key, value);    return value;}inline void item_policies::del(    object const& target    , object const& key){    delitem(target, key);}}}} // namespace boost::python::api#endif // OBJECT_ITEMS_DWA2002615_HPP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?