@@ -86,9 +86,9 @@ struct overload_base_get_item_for_std_vector
8686 template <class Class >
8787 void visit (Class &cl) const {
8888 cl.def (" __getitem__" , &base_get_item_int)
89- .def (" __getitem__" , &base_get_item_slice)
90- .def (" __getitem__" , &base_get_item_list)
91- .def (" __getitem__" , &base_get_item_tuple);
89+ .def (" __getitem__" , &base_get_item_slice)
90+ .def (" __getitem__" , &base_get_item_list)
91+ .def (" __getitem__" , &base_get_item_tuple);
9292 }
9393
9494 private:
@@ -109,28 +109,33 @@ struct overload_base_get_item_for_std_vector
109109 }
110110
111111 static boost::python::object base_get_item_slice (
112- boost::python::back_reference<Container&> container,
112+ boost::python::back_reference<Container &> container,
113113 boost::python::slice slice) {
114114 bp::list out;
115115 try {
116- auto rng = slice.get_indices (container.get ().begin (), container.get ().end ());
117- // rng.start, rng.stop are iterators; rng.step is int; [start, stop] is closed
118- typename bp::to_python_indirect<value_type&,
119- bp::detail::make_reference_holder> convert;
116+ auto rng =
117+ slice.get_indices (container.get ().begin (), container.get ().end ());
118+ // rng.start, rng.stop are iterators; rng.step is int; [start, stop] is
119+ // closed
120+ typename bp::to_python_indirect<value_type &,
121+ bp::detail::make_reference_holder>
122+ convert;
120123 // forward or backward
121- for (typename Container::iterator it = rng.start ;; std::advance (it, rng.step )) {
124+ for (typename Container::iterator it = rng.start ;;
125+ std::advance (it, rng.step )) {
122126 out.append (bp::object (bp::handle<>(convert (*it))));
123- if (it == rng.stop ) break ; // closed interval, include stop
127+ if (it == rng.stop ) break ; // closed interval, include stop
124128 }
125- } catch (const std::invalid_argument&) {
129+ } catch (const std::invalid_argument &) {
126130 // Boost.Python specifies empty ranges throw invalid_argument.
127131 // Return [] (matches Python's behavior for empty slices).
128132 return bp::list ();
129133 }
130134 return out;
131135 }
132136
133- static bp::object base_get_item_list (bp::back_reference<Container&> c, bp::list idxs) {
137+ static bp::object base_get_item_list (bp::back_reference<Container &> c,
138+ bp::list idxs) {
134139 const Py_ssize_t m = bp::len (idxs);
135140 bp::list out;
136141 for (Py_ssize_t k = 0 ; k < m; ++k) {
@@ -146,7 +151,8 @@ struct overload_base_get_item_for_std_vector
146151 return out;
147152 }
148153
149- static bp::object base_get_item_tuple (bp::back_reference<Container&> c, bp::tuple idxs) {
154+ static bp::object base_get_item_tuple (bp::back_reference<Container &> c,
155+ bp::tuple idxs) {
150156 const Py_ssize_t m = bp::len (idxs);
151157 bp::list out;
152158 for (Py_ssize_t k = 0 ; k < m; ++k) {
@@ -172,9 +178,10 @@ struct overload_base_get_item_for_std_vector
172178 return static_cast <index_type>(idx);
173179 }
174180
175- static bp::object elem_ref (Container& c, index_type i) {
176- typename bp::to_python_indirect<value_type&,
177- bp::detail::make_reference_holder> conv;
181+ static bp::object elem_ref (Container &c, index_type i) {
182+ typename bp::to_python_indirect<value_type &,
183+ bp::detail::make_reference_holder>
184+ conv;
178185 return bp::object (bp::handle<>(conv (c[i])));
179186 }
180187
0 commit comments