5#ifndef RUNTIME_VM_COMPILER_FFI_RANGE_H_
6#define RUNTIME_VM_COMPILER_FFI_RANGE_H_
29 return Range(start_inclusive, start_inclusive +
length);
39 intptr_t
start()
const {
return start_; }
43 intptr_t
Length()
const {
return end_exclusive_ - start_; }
47 return start_ <= number && number < end_exclusive_;
57 return other.end_exclusive_ <= start_;
62 return !this->
After(other) && !other.
After(*
this);
84 ASSERT(start_ < end_exclusive_);
87 const intptr_t start_;
88 const intptr_t end_exclusive_;
static constexpr T Maximum(T x, T y)
static T Minimum(T x, T y)
bool Contains(intptr_t number) const
static Range StartAndLength(intptr_t start_inclusive, intptr_t length)
const Range Intersect(const Range &other) const
bool Overlaps(const Range &other) const
static Range StartAndEnd(intptr_t start_inclusive, intptr_t end_exclusive)
bool Contains(const Range &other) const
bool After(const Range &other) const
intptr_t end_inclusive() const
const Range Translate(intptr_t delta) const
intptr_t end_exclusive() const