mirror of
https://github.com/boostorg/python.git
synced 2026-01-21 17:12:22 +00:00
Changes to support MSVC 6.0.
[SVN r22430]
This commit is contained in:
@@ -18,22 +18,26 @@ namespace boost { namespace python {
|
||||
|
||||
class slice : public object
|
||||
{
|
||||
private:
|
||||
// Helper function to work around bugs in MSVC 6
|
||||
BOOST_PYTHON_DECL
|
||||
static object new_slice(PyObject*, PyObject*, PyObject*);
|
||||
|
||||
public:
|
||||
// Equivalent to slice(::)
|
||||
BOOST_PYTHON_DECL
|
||||
slice();
|
||||
|
||||
// Each argument must be int, slice_nil, or implicitly convertable to int
|
||||
template<typename Integer1, typename Integer2>
|
||||
slice( Integer1 start, Integer2 stop)
|
||||
: object( boost::python::detail::new_reference(
|
||||
PySlice_New( object(start).ptr(), object(stop).ptr(), NULL)))
|
||||
: object( new_slice( object(start).ptr(), object(stop).ptr(), NULL))
|
||||
{}
|
||||
|
||||
template<typename Integer1, typename Integer2, typename Integer3>
|
||||
slice( Integer1 start, Integer2 stop, Integer3 stride)
|
||||
: object( boost::python::detail::new_reference(
|
||||
PySlice_New( object(start).ptr(), object(stop).ptr(),
|
||||
object(stride).ptr())))
|
||||
: object(
|
||||
new_slice( object(start).ptr(), object(stop).ptr(), object(stride).ptr()))
|
||||
{}
|
||||
|
||||
// Get the Python objects associated with the slice. In principle, these
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
|
||||
namespace boost { namespace python {
|
||||
|
||||
object
|
||||
slice::new_slice(PyObject* start, PyObject* stop, PyObject* step)
|
||||
{
|
||||
return object(detail::new_reference( PySlice_New(start, stop, step)));
|
||||
}
|
||||
|
||||
slice::slice()
|
||||
: object( boost::python::detail::new_reference(
|
||||
PySlice_New( NULL, NULL, NULL)))
|
||||
|
||||
@@ -37,17 +37,17 @@ bool check_string_rich_slice()
|
||||
bool check_numeric_array_rich_slice()
|
||||
{
|
||||
using numeric::array;
|
||||
object original = array( make_tuple( make_tuple( 11, 12, 13, 14),
|
||||
array original = array( make_tuple( make_tuple( 11, 12, 13, 14),
|
||||
make_tuple( 21, 22, 23, 24),
|
||||
make_tuple( 31, 32, 33, 34),
|
||||
make_tuple( 41, 42, 43, 44)));
|
||||
object upper_left_quadrant = array( make_tuple( make_tuple( 11, 12),
|
||||
array upper_left_quadrant = array( make_tuple( make_tuple( 11, 12),
|
||||
make_tuple( 21, 22)));
|
||||
object odd_cells = array( make_tuple( make_tuple( 11, 13),
|
||||
array odd_cells = array( make_tuple( make_tuple( 11, 13),
|
||||
make_tuple( 31, 33)));
|
||||
object even_cells = array( make_tuple( make_tuple( 22, 24),
|
||||
array even_cells = array( make_tuple( make_tuple( 22, 24),
|
||||
make_tuple( 42, 44)));
|
||||
object lower_right_quadrant_reversed = array(
|
||||
array lower_right_quadrant_reversed = array(
|
||||
make_tuple( make_tuple(44, 43),
|
||||
make_tuple(34, 33)));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user