54 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | // 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 |