Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:50:38

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 RAW_PYOBJECT_DWA2002628_HPP
0006 # define RAW_PYOBJECT_DWA2002628_HPP
0007 
0008 namespace boost { namespace python { namespace detail { 
0009 
0010 //
0011 // Define some types which we can use to get around the vagaries of
0012 // PyObject*. We will use these to initialize object instances, and
0013 // keep them in namespace detail to make sure they stay out of the
0014 // hands of users. That is much simpler than trying to grant
0015 // friendship to all the appropriate parties.
0016 //
0017 
0018 // New references are normally checked for null
0019 struct new_reference_t;
0020 typedef new_reference_t* new_reference;
0021 
0022 // Borrowed references are assumed to be non-null
0023 struct borrowed_reference_t;
0024 typedef borrowed_reference_t* borrowed_reference;
0025 
0026 // New references which aren't checked for null
0027 struct new_non_null_reference_t;
0028 typedef new_non_null_reference_t* new_non_null_reference;
0029 
0030 }}} // namespace boost::python::detail
0031 
0032 #endif // RAW_PYOBJECT_DWA2002628_HPP