Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .github/workflows/test-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,27 @@ jobs:
matrix:
python: [python, python3]
cxx: [g++, clang++]
std: [c++98, c++11, c++14, c++17]
std: [c++11, c++14, c++17]
include:
# Add the appropriate docker image for each compiler.
# The images from teeks99/boost-python-test already have boost::python
# pre-reqs installed, see:
# https://github.com/teeks99/boost-python-test-docker
- cxx: clang++
docker-img: teeks99/boost-python-test:clang-12_1.76.0
docker-img: teeks99/boost-python-test:clang-21_1.89.0
- cxx: g++
docker-img: teeks99/boost-python-test:gcc-10_1.76.0
docker-img: teeks99/boost-python-test:gcc-15_1.89.0

container:
image: ${{ matrix.docker-img }}

steps:
- uses: actions/checkout@v5

- name: setup prerequisites
run: |
# Warning: this is not necessarily the same Python version as the one configured above !
python3 -m pip install -U faber --break-system-packages
- name: build
run: |
${{ matrix.python }} --version
Expand Down
2 changes: 1 addition & 1 deletion doc/numpy/_templates/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
<tr>
<td valign="top" width="300">
<h3><a href="{{ pathto('index') }}"><img
alt="C++ Boost" src="{{ pathto('_static/' + logo, 1) }}" border="0"></a></h3>
alt="C++ Boost" src="{{ pathto('_static/bpl.png', 1) }}" border="0"></a></h3>
</td>

<td >
Expand Down
1 change: 1 addition & 0 deletions fabscript
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ from faber.config.try_run import try_run

features += include('include')
features += define('BOOST_ALL_NO_LIB') # disable auto-linking
features += define('BOOST_NO_AUTO_PTR')
boost_include = options.get_with('boost-include')
if boost_include:
features += include(boost_include)
Expand Down
2 changes: 2 additions & 0 deletions include/boost/python/detail/is_auto_ptr.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
# ifndef BOOST_NO_AUTO_PTR
# include <boost/python/detail/is_xxx.hpp>
# include <memory>
# else
# include <boost/mpl/bool.hpp>
# endif

namespace boost { namespace python { namespace detail {
Expand Down
2 changes: 1 addition & 1 deletion test/back_reference.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ BOOST_PYTHON_MODULE(back_reference_ext)
.def("set", &Y::set)
;

class_<Z,std::auto_ptr<Z> >("Z", init<int>())
class_<Z,std::shared_ptr<Z> >("Z", init<int>())
.def("value", &Z::value)
.def("set", &Z::set)
;
Expand Down
3 changes: 1 addition & 2 deletions test/copy_ctor_mutates_rhs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@

struct foo
{
operator std::auto_ptr<int>&() const;
operator std::shared_ptr<int>&() const;
};

int main()
{
using namespace boost::python::detail;
BOOST_STATIC_ASSERT(!copy_ctor_mutates_rhs<int>::value);
BOOST_STATIC_ASSERT(copy_ctor_mutates_rhs<std::auto_ptr<int> >::value);
BOOST_STATIC_ASSERT(!copy_ctor_mutates_rhs<std::string>::value);
BOOST_STATIC_ASSERT(!copy_ctor_mutates_rhs<foo>::value);
return 0;
Expand Down
8 changes: 4 additions & 4 deletions test/fabscript
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,10 @@ for t in [('injected',),

tests.append(extension_test('shared_ptr',
condition=set.define.contains('HAS_CXX11')))
tests.append(extension_test('polymorphism2_auto_ptr',
condition=set.define.contains('HAS_CXX11').not_()))
tests.append(extension_test('auto_ptr',
condition=set.define.contains('HAS_CXX11')))
#tests.append(extension_test('polymorphism2_auto_ptr',
# condition=set.define.contains('HAS_CXX11').not_()))
#tests.append(extension_test('auto_ptr',
# condition=set.define.contains('HAS_CXX11')))

import_ = binary('import_', ['import_.cpp', src.bpl], features=features|python_libs)
if platform.os == 'Windows':
Expand Down
2 changes: 1 addition & 1 deletion test/injected.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ typedef test_class<> X;

X* empty() { return new X(1000); }

std::auto_ptr<X> sum(int a, int b) { return std::auto_ptr<X>(new X(a+b)); }
std::shared_ptr<X> sum(int a, int b) { return std::shared_ptr<X>(new X(a+b)); }

boost::shared_ptr<X> product(int a, int b, int c)
{
Expand Down
4 changes: 2 additions & 2 deletions test/operators_wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ BOOST_PYTHON_MODULE( operators_wrapper_ext )
;

scope().attr("v") = vector();
std::auto_ptr<vector> dp(new dvector);
register_ptr_to_python< std::auto_ptr<vector> >();
std::shared_ptr<vector> dp(new dvector);
register_ptr_to_python< std::shared_ptr<vector> >();
scope().attr("d") = dp;
}
12 changes: 6 additions & 6 deletions test/select_holder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,14 @@ int test_main(int, char * [])
assert_holder<Base,Derived
,value_holder_back_reference<Base,Derived> >();

assert_holder<Base,std::auto_ptr<Base>
,pointer_holder<std::auto_ptr<Base>,Base> >();
assert_holder<Base,std::unique_ptr<Base>
,pointer_holder<std::unique_ptr<Base>,Base> >();

assert_holder<Base,std::auto_ptr<Derived>
,pointer_holder_back_reference<std::auto_ptr<Derived>,Base> >();
assert_holder<Base,std::unique_ptr<Derived>
,pointer_holder_back_reference<std::unique_ptr<Derived>,Base> >();

assert_holder<BR,std::auto_ptr<BR>
,pointer_holder_back_reference<std::auto_ptr<BR>,BR> > ();
assert_holder<BR,std::unique_ptr<BR>
,pointer_holder_back_reference<std::unique_ptr<BR>,BR> > ();

return 0;
}
Expand Down
4 changes: 2 additions & 2 deletions test/upcast.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ int main()
{
PyTypeObject o;
Y y;
BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&o)) == &Py_REFCNT(&o));
BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&y)) == &Py_REFCNT(&y));
BOOST_TEST(boost::python::upcast<PyObject>(&o) == reinterpret_cast<PyObject*>(&o));
BOOST_TEST(boost::python::upcast<PyObject>(&y) == &y);
return boost::report_errors();
}
8 changes: 4 additions & 4 deletions test/wrapper_held_type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ struct data
}
};

std::auto_ptr<data> create_data()
std::shared_ptr<data> create_data()
{
return std::auto_ptr<data>( new data );
return std::shared_ptr<data>( new data );
}

void do_nothing( std::auto_ptr<data>& ){}
void do_nothing( std::shared_ptr<data>& ){}


namespace bp = boost::python;
Expand Down Expand Up @@ -59,7 +59,7 @@ struct data_wrapper : data, bp::wrapper< data >

BOOST_PYTHON_MODULE(wrapper_held_type_ext)
{
bp::class_< data_wrapper, std::auto_ptr< data > >( "data" )
bp::class_< data_wrapper, std::shared_ptr< data > >( "data" )
.def( "id", &data::id, &::data_wrapper::default_id );

bp::def( "do_nothing", &do_nothing );
Expand Down
Loading