Add ByteRange/StringPiece Conversion for Cython
[folly.git] / folly / python / range.pxd
1 cdef extern from "folly/Range.h" namespace "folly":
2     cdef cppclass Range[T]:
3         Range()
4         Range(T, int)
5         T data()
6         int size()
7
8 ctypedef Range[const char*] StringPiece
9 ctypedef Range[const unsigned char*] ByteRange
10
11 ctypedef fused R:
12     StringPiece
13     ByteRange
14
15 # Conversion Helpers
16 cdef inline bytes to_bytes(R range):
17     return <bytes>range.data()[:range.size()]