Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/python/object_protocol_core.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Copyright David Abrahams 2002.
0002 // Distributed under the Boost Software License, Version 1.0. (See
0003 // accompanying file LICENSE_1_0.txt or copy at
0004 // http://www.boost.org/LICENSE_1_0.txt)
0005 #ifndef OBJECT_PROTOCOL_CORE_DWA2002615_HPP
0006 # define OBJECT_PROTOCOL_CORE_DWA2002615_HPP
0007 
0008 # include <boost/python/detail/prefix.hpp>
0009 
0010 # include <boost/python/handle_fwd.hpp>
0011 
0012 namespace boost { namespace python { 
0013 
0014 namespace api
0015 {
0016   class object;
0017 
0018   BOOST_PYTHON_DECL object getattr(object const& target, object const& key);
0019   BOOST_PYTHON_DECL object getattr(object const& target, object const& key, object const& default_);
0020   BOOST_PYTHON_DECL void setattr(object const& target, object const& key, object const& value);
0021   BOOST_PYTHON_DECL void delattr(object const& target, object const& key);
0022 
0023   // These are defined for efficiency, since attributes are commonly
0024   // accessed through literal strings.
0025   BOOST_PYTHON_DECL object getattr(object const& target, char const* key);
0026   BOOST_PYTHON_DECL object getattr(object const& target, char const* key, object const& default_);
0027   BOOST_PYTHON_DECL void setattr(object const& target, char const* key, object const& value);
0028   BOOST_PYTHON_DECL void delattr(object const& target, char const* key);
0029   
0030   BOOST_PYTHON_DECL object getitem(object const& target, object const& key);
0031   BOOST_PYTHON_DECL void setitem(object const& target, object const& key, object const& value);
0032   BOOST_PYTHON_DECL void delitem(object const& target, object const& key);
0033 
0034   BOOST_PYTHON_DECL object getslice(object const& target, handle<> const& begin, handle<> const& end);
0035   BOOST_PYTHON_DECL void setslice(object const& target, handle<> const& begin, handle<> const& end, object const& value);
0036   BOOST_PYTHON_DECL void delslice(object const& target, handle<> const& begin, handle<> const& end);
0037 }
0038 
0039 using api::getattr;
0040 using api::setattr;
0041 using api::delattr;
0042 
0043 using api::getitem;
0044 using api::setitem;
0045 using api::delitem;
0046 
0047 using api::getslice;
0048 using api::setslice;
0049 using api::delslice;
0050 
0051 }} // namespace boost::python
0052 
0053 #endif // OBJECT_PROTOCOL_CORE_DWA2002615_HPP