1# tag: cpp 2 3from libcpp.vector cimport vector 4 5__doc__ = u""" 6 >>> test_lvalue_ref_assignment() 7""" 8 9ctypedef double* dp 10ctypedef double** dpp 11 12cdef void foo(vector[dpp] &bar, vector[vector[dp]] &baz) nogil: 13 bar[0] = &baz[0][0] 14 15def test_lvalue_ref_assignment(): 16 cdef vector[dpp] bar 17 cdef vector[vector[dp]] baz 18 cdef vector[double] data = [0.0] 19 cdef dp bongle = &data[0] 20 21 bar.resize(1) 22 bar[0] = NULL 23 baz.resize(1) 24 baz[0].resize(1) 25 baz[0][0] = bongle 26 27 foo(bar, baz) 28 29 assert bar[0] == &baz[0][0] 30 assert bar[0][0] == bongle 31