1 //===--------------------- Range.h ------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef utility_Range_h_
11 #define utility_Range_h_
16 namespace lldb_utility {
22 typedef uint64_t ValueType;
24 static const ValueType OPEN_END = UINT64_MAX;
26 Range (const Range& rng);
28 Range (ValueType low = 0,
29 ValueType high = OPEN_END);
32 operator = (const Range& rhs);
47 SetLow (ValueType low)
53 SetHigh (ValueType high)
62 Intersection (const Range& other);
65 Union (const Range& other);
67 typedef bool (*RangeCallback)(ValueType index);
70 Iterate (RangeCallback callback);
87 } // namespace lldb_private
89 #endif // #ifndef utility_Range_h_