From: Jason Fried Date: Mon, 13 Nov 2017 21:32:49 +0000 (-0800) Subject: Add ByteRange/StringPiece Conversion for Cython X-Git-Tag: v2017.11.20.00~15 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=cf9ba53a0e3635074b2117f471d6741f3a2396ba;p=folly.git Add ByteRange/StringPiece Conversion for Cython Summary: Moving the cython definition to folly/python. Adding simple conversion helper to_bytes This is to cut down on duplicate folly::range cython definitions Reviewed By: yfeldblum Differential Revision: D6291125 fbshipit-source-id: 314b732a1516a03fb5c9a57939552bbabd81970b --- diff --git a/folly/python/range.pxd b/folly/python/range.pxd new file mode 100644 index 00000000..fef1dd9b --- /dev/null +++ b/folly/python/range.pxd @@ -0,0 +1,17 @@ +cdef extern from "folly/Range.h" namespace "folly": + cdef cppclass Range[T]: + Range() + Range(T, int) + T data() + int size() + +ctypedef Range[const char*] StringPiece +ctypedef Range[const unsigned char*] ByteRange + +ctypedef fused R: + StringPiece + ByteRange + +# Conversion Helpers +cdef inline bytes to_bytes(R range): + return range.data()[:range.size()]