| IDA SDK

Classes | Functions | Macros | Typedefs | Enumerations
range.hpp File Reference

## Detailed Description

Contains the definition of range_t.

A range is a non-empty continuous range of addresses (specified by its start and end addresses, the end address is excluded from the range).

Ranges are stored in the Btree part of the IDA database. To learn more about Btrees (Balanced Trees): http://www.bluerwhite.org/btree/

## Classes
struct | range_t
| Base class for an range. More...
struct | rangevec_t
| Vector of range_t instances. More...
class | rangeset_t
| An ordered set of non-overlapping address ranges. More...
struct | range64_t
struct | range64vec_t

## Functions
idaman size_t ida_export | range_t_print (const range_t *, char *buf, size_t bufsize)
| Helper function. Should not be called directly!

## Macros
#define | RANGESET_HELPER_DEFINITIONS(decl)
| Helper functions. Should not be called directly! More...

## Typedefs
typedef qvector< range_t > | rangevec_base_t
typedef qvector< rangeset_t > | array_of_rangesets
| Array of rangeset_t objects.
typedef qvector< const rangeset_t * > | rangeset_crefvec_t

## Enumerations
enum | range_kind_t { RANGE_KIND_UNKNOWN , RANGE_KIND_FUNC , RANGE_KIND_SEGMENT , RANGE_KIND_HIDDEN_RANGE }

## Macro Definition Documentation

## ◆ RANGESET_HELPER_DEFINITIONS

#define RANGESET_HELPER_DEFINITIONS | ( |  | decl | ) |

Value:
decl bool ida_export rangeset_t_add(rangeset_t *, const range_t &range);\
decl bool ida_export rangeset_t_sub(rangeset_t *, const range_t &range);\
decl bool ida_export rangeset_t_add2(rangeset_t *, const rangeset_t &aset);\
decl bool ida_export rangeset_t_sub2(rangeset_t *, const rangeset_t &aset);\
decl bool ida_export rangeset_t_has_common(const rangeset_t *, const range_t &range, bool strict);\
decl bool ida_export rangeset_t_has_common2(const rangeset_t *, const rangeset_t &aset);\
decl bool ida_export rangeset_t_contains(const rangeset_t *, const rangeset_t &aset);\
decl size_t ida_export rangeset_t_print(const rangeset_t *, char *buf, size_t bufsize);\
decl bool ida_export rangeset_t_intersect(rangeset_t *, const rangeset_t &aset);\
decl const range_t *ida_export rangeset_t_find_range(const rangeset_t *, ea_t ea);\
decl ea_t ida_export rangeset_t_next_addr(const rangeset_t *, ea_t ea);\
decl ea_t ida_export rangeset_t_prev_addr(const rangeset_t *, ea_t ea);\
decl ea_t ida_export rangeset_t_next_range(const rangeset_t *, ea_t ea);\
decl ea_t ida_export rangeset_t_prev_range(const rangeset_t *, ea_t ea);\
decl rangevec_t::const_iterator ida_export rangeset_t_lower_bound(const rangeset_t *, ea_t ea);\
decl rangevec_t::const_iterator ida_export rangeset_t_upper_bound(const rangeset_t *, ea_t ea);\
decl void ida_export rangeset_t_swap(rangeset_t *, rangeset_t &r);
rangeset_t
An ordered set of non-overlapping address ranges.
Definition: range.hpp:139
range_t
Base class for an range.
Definition: range.hpp:35

Helper functions. Should not be called directly!

## Enumeration Type Documentation

## ◆ range_kind_t

enum range_kind_t

Enumerator
RANGE_KIND_FUNC | func_t
RANGE_KIND_SEGMENT | segment_t
RANGE_KIND_HIDDEN_RANGE | hidden_range_t