Add unchecked versions of advance(), subtract(), and subpiece() in Range
Summary:
`Range` has a somewhat inconsistent API: most methods assume
argument validity as a precondition (mirroring their STL
counterparts), others check the arguments and throw for invalid ones.
Since `Range` is intended as a zero-cost abstraction on top of
pointers/iterators, unchecked methods should be preferred. At this
point however we cannot change the semantics of `advance()` and other
methods. This diff adds new unchecked versions of these methods.
Reviewed By: luciang
Differential Revision:
D3938480
fbshipit-source-id:
6952683ee0716aa1584e79584158fbf3e083b52e