Commit Graph

611 Commits

Author SHA1 Message Date
Ralf W. Grosse-Kunstleve bad7199a02 Factoring out find_existing_python_instance(). 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve 2f8e01748b Adding minor comment (change to internals needed to distinguish uninitialized/disowned in error message). 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve a72e5f0c8f Inserting additional assert to ensure a returned unique_ptr is always a new Python instance. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve ec86f10038 Using factored-out make_constructor (PR #2798), removing duplicate code. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve 8d18c1e121 Fixing clang-format oversight. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve f4c27c34e8 Using type_caster_base<mpty>::src_and_type directly, removing copy. Also renaming one cast to cast_const_raw_ptr, for clarity. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve 45df6826e6 Cosmetical change around helper functions. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve b41a0db1b1 Calling deregister_instance after disowning via unique_ptr. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve b85cc69714 Making test_type_caster_bare_interface_demo.cpp slightly more realistic, ASAN, MSAN, UBSAN clean. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve e4d6d860b6 Fixing bugs discovered by ASAN. The code is now ASAN, MSAN, UBSAN clean. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve 4ddd65de00 static handle cast implementations for rtrn_uqmp, rtrn_uqcp. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve 68bee938de Adding MISSING comments in operator std::unique_ptr<mpty[ const]>. 2021-02-09 06:47:06 -08:00
Ralf W. Grosse-Kunstleve 6601ec4ea7 static handle cast implementations for rtrn_shmp, rtrn_shcp. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 6294eb26e5 Pure clang-format change (applied to original type_caster_generic::cast). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve ee6d15647d Copying type_caster_generic::cast into type_caster<mpty> as-is (preparation for handling smart pointers). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 4359422d99 static cast handle for rtrn_valu works by simply dropping in code from type_caster_base (marked with comments). rtrn_rref raises a RuntimeError, to be investigated. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 6dea65fe64 static cast handle for rtrn_cref works by simply dropping in code from type_caster_base (marked with comments). rtrn_mref and rtrn_mptr work via const_cast (to add const). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve e70a882718 static cast handle for rtrn_cptr works by simply dropping in code from type_caster_base (marked with comments). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve d88be00a7a Systematically setting mtxt for all rtrn_mpty_* functions (preparation, the values are not actually used yet). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve db529c805c flake8 cleanup 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve d3833d2cbf Fixing oversight (discovered by flake8). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve ec8ebb766a Pure `clang-format --style=file -i` change, with two `clang-format off` directives. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve e7aea026bb Pure `clang-format --style=file -i` change. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve cfc848a137 Retrieving smart_holder pointer in type_caster<std::unique_ptr<mpty[ const]>>::load, and using it cast_op operators. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 6277910abd Improved error messaging: Cannot disown nullptr (as_unique_ptr). 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 4a879cfdcb Retrieving smart_holder pointer in type_caster<std::shared_ptr<mpty[ const]>>::load, and using it cast_op operators. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 3f7a1a1b30 Factoring out smart_holder_type_caster_load. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 4b35955a12 Retrieving smart_holder pointer in type_caster<mpty>::load, and using it cast_op operators. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve fe5427fc23 Adding rvalue_ref, renaming const_value_ref to lvalue_ref & removing const. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 6bdd58a115 Adding isinstance<mpty> in type_caster::load functions. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 1ce4256921 Adding mpty::mtxt string member. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 03f304e419 classh.h: renaming of class_ to classh + namespace; forking test_classh_wip from test_type_caster_bare_interface_demo. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve b3ad3ac43f Adding unique_ptr<mpty>, unique_ptr<mpty const> casters. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve d36a7488ae Adding shared_ptr<mpty>, shared_ptr<mpty const> casters. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve de10541b12 Adding type_caster_bare_interface_demo. 2021-02-09 06:47:05 -08:00
Ralf W. Grosse-Kunstleve 2cb68ab051 Removing stray file. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 69270b5dde Removing obsolete and very incomplete test (replaced by Catch2-based test). 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 9abea63276 Converting from methods to factory functions (no functional change). 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 01cacaf207 Testing of exceptions not covered by the from-as matrix. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 04a9568487 Implementing all [E]xception tests. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve d76050c713 Implementing all [S]uccess tests. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 401cdb3b0e Shuffling existing TEST_CASEs into systematic matrix. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 1f80387f4b Improved labeling of TEST_CASEs. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 5ab34305ae New tests/core/smart_holder_poc_test.cpp, using Catch2. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 84bdaebf57 Adding from_shared_ptr. Some polishing. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 2a94c687ea Adding from/as unique_ptr<T> and unique_ptr<T, D>. 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 72d1b61176 Snapshot of WIP, TODO: shared_ptr deleter with on/off switch 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 76e99f1c81 pybind11 equivalent of Boost.Python test similar to reproducer under #1333 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 8a393e68ab minor test_private_first_base.cpp simplification (after discovering that this can be wrapped with Boost.Python, using boost::noncopyable) 2021-02-09 06:47:04 -08:00
Ralf W. Grosse-Kunstleve 912ce16d0c Demonstration of Undefined Behavior in handling of polymorphic pointers.
(This demo does NOT involve smart pointers at all, unlike the otherwise similar test_smart_ptr_private_first_base.)
2021-02-09 06:47:04 -08:00