1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // 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_PROTOCOL_CORE_DWA2002615_HPP
- # define OBJECT_PROTOCOL_CORE_DWA2002615_HPP
- # include <boost/python/detail/prefix.hpp>
- # include <boost/python/handle_fwd.hpp>
- namespace boost { namespace python {
- namespace api
- {
- class object;
- BOOST_PYTHON_DECL object getattr(object const& target, object const& key);
- BOOST_PYTHON_DECL object getattr(object const& target, object const& key, object const& default_);
- BOOST_PYTHON_DECL void setattr(object const& target, object const& key, object const& value);
- BOOST_PYTHON_DECL void delattr(object const& target, object const& key);
- // These are defined for efficiency, since attributes are commonly
- // accessed through literal strings.
- BOOST_PYTHON_DECL object getattr(object const& target, char const* key);
- BOOST_PYTHON_DECL object getattr(object const& target, char const* key, object const& default_);
- BOOST_PYTHON_DECL void setattr(object const& target, char const* key, object const& value);
- BOOST_PYTHON_DECL void delattr(object const& target, char const* key);
-
- BOOST_PYTHON_DECL object getitem(object const& target, object const& key);
- BOOST_PYTHON_DECL void setitem(object const& target, object const& key, object const& value);
- BOOST_PYTHON_DECL void delitem(object const& target, object const& key);
- BOOST_PYTHON_DECL object getslice(object const& target, handle<> const& begin, handle<> const& end);
- BOOST_PYTHON_DECL void setslice(object const& target, handle<> const& begin, handle<> const& end, object const& value);
- BOOST_PYTHON_DECL void delslice(object const& target, handle<> const& begin, handle<> const& end);
- }
- using api::getattr;
- using api::setattr;
- using api::delattr;
- using api::getitem;
- using api::setitem;
- using api::delitem;
- using api::getslice;
- using api::setslice;
- using api::delslice;
- }} // namespace boost::python
- #endif // OBJECT_PROTOCOL_CORE_DWA2002615_HPP
|