On Mon, Jul 2, 2012 at 5:49 AM, Sturla Molden <stu...@molden.no> wrote: > On 30.06.2012 01:06, Stefan Behnel wrote: > >>> std::string<=> bytes >>> std::map<=> dict >>> iterable => std::vector => list >>> iterable => std::list => list >>> iterable => std::set => set >>> 2-iterable => std::pair => 2-tuple >> >> >> Very cool. > > > I think (in C++11) std::unordered_set and std::unordered_map should be used > instead. They are hash-based with O(1) lookup. > > std::set and std::map are binary search threes with average O(log n) lookup > and worst-case O(n**2). > > Also beware that C++11 has a std:tuple type.
The object => C++ coercion is always explicit, there's no choice made here. This is used to do, e.g. cdef map<int, vector<double>> my_cpp_map = o or cdef extern from "mylibrary.h": cdef map<long, double> my_func(vector<long>) def f(o): return my_func(o) It would make sense to support these unordered versions as well, and fairly straightforward. - Robert _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel