Cython gives us an easy way to import C++ standard library data structures, e.g.:
from libcpp.vector cimport vector
from libcpp.utility cimport pair
But what about newer containers introduced with C++11: std::unordered_map
, std::unordered_set
etc. Are they supported in the same way? I could not find the appropriate import statement.
Cython doesn't support them by default, but you could probably create your own interface, following the structure of https://github.com/cython/cython/blob/master/Cython/Includes/libcpp/map.pxd.Cython now supported unordered_map and unordered_set since 0.20.2.
Current cython versions allow them.
Make sure your
setup.py
contains something like:You can then use
like for any other STL class.