pub trait RangeTraitConst {
    fn as_raw_Range(&self) -> *const c_void;

    fn start(&self) -> i32 { ... }
    fn end(&self) -> i32 { ... }
    fn size(&self) -> Result<i32> { ... }
    fn empty(&self) -> Result<bool> { ... }
}
Expand description

Template class specifying a continuous subsequence (slice) of a sequence.

The class is used to specify a row or a column span in a matrix ( Mat ) and for many other purposes. Range(a,b) is basically the same as a:b in Matlab or a..b in Python. As in Python, start is an inclusive left boundary of the range and end is an exclusive right boundary of the range. Such a half-opened interval is usually denoted as inline formula .

The static method Range::all() returns a special variable that means “the whole sequence” or “the whole range”, just like “ : “ in Matlab or “ … “ in Python. All the methods and functions in OpenCV that take Range support this special Range::all() value. But, of course, in case of your own custom processing, you will probably have to check and handle it explicitly:

   void my_function(..., const Range& r, ....)
   {
       if(r == Range::all()) {
           // process all the data
       }
       else {
           // process [r.start, r.end)
       }
   }

Required Methods

Provided Methods

Implementors