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
--- /dev/null
+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 <bytes>range.data()[:range.size()]