# Class: com.pnfsoftware.jeb.core.units.code.IdRanges

A collection of var\-id ranges.

## Constructor: IdRanges

Description: Create an empty range collection.

## Constructor: IdRanges
- parameter: `o`, type: `com.pnfsoftware.jeb.core.units.code.IdRanges`

Description: Create a copy of a range collection.
parameter: o: source range collection

## Method: add
- parameter: `var`, type: `com.pnfsoftware.jeb.core.units.code.IVariable`

Description: Add a full variable range.
parameter: var: variable to add

## Method: add
- parameter: `var`, type: `com.pnfsoftware.jeb.core.units.code.IVariable`
- parameter: `beg`, type: `int`
- parameter: `len`, type: `int`

Description: Add a partial variable range.
parameter: var: variable to add
parameter: beg: range start
parameter: len: range length

## Method: add
- parameter: `varid`, type: `int`
- parameter: `bitsize`, type: `int`

Description: Add a full variable range.
parameter: varid: variable id
parameter: bitsize: variable bit size

## Method: addAll
- parameter: `vars`, type: `java.util.Collection<? extends com.pnfsoftware.jeb.core.units.code.IVariable>`
- parameter: `exclusions`, type: `java.util.Collection<? extends com.pnfsoftware.jeb.core.units.code.IVariable>`

Description: Add variables excluding selected variables.
parameter: vars: variables to add
parameter: exclusions: variables to exclude

## Method: addAll
- parameter: `vars`, type: `java.util.Collection<? extends com.pnfsoftware.jeb.core.units.code.IVariable>`
- parameter: `exclusions`, type: `com.pnfsoftware.jeb.core.units.code.IdRanges`

Description: Add variables excluding variables present in another range collection.
parameter: vars: variables to add
parameter: exclusions: ranges to exclude

## Method: addAll
- parameter: `vars`, type: `java.util.Collection<? extends com.pnfsoftware.jeb.core.units.code.IVariable>`

Description: Add variables.
parameter: vars: variables to add

## Method: bsize
- return type: `int`

Description: Get the total bit range size.
return: total bit size

## Method: clear

Description: Clear all ranges.

## Method: collectBits
- parameter: `r`, type: `java.util.List<java.lang.Integer>`

Description: Collect bit ids.
parameter: r: output list

## Method: collectVarIds
- parameter: `r`, type: `java.util.Collection<java.lang.Integer>`

Description: Collect variable ids.
parameter: r: output collection

## Method: containsVarFull
- parameter: `varid`, type: `int`
- parameter: `bitsize`, type: `int`
- return type: `boolean`

Description: Determine whether a full variable range is present.
parameter: varid: variable id
parameter: bitsize: variable bit size
return: true if the full range is present

## Method: containsVarFull
- parameter: `varid`, type: `int`
- return type: `boolean`

Description: Determine whether a full variable range is present.
parameter: varid: variable id
return: true if the full range is present

## Method: containsVarPart
- parameter: `var`, type: `com.pnfsoftware.jeb.core.units.code.IVariable`
- return type: `boolean`

Description: Determine whether any part of a variable is present.
parameter: var: variable
return: true if any part is present

## Method: equals
- parameter: `obj`, type: `java.lang.Object`
- return type: `boolean`


## Method: getBits
- return type: `java.util.List<java.lang.Integer>`

Description: Get all bit ids.
return: bit ids

## Method: getVarIds
- return type: `java.util.List<java.lang.Integer>`

Description: Generate a list \(modifiable copy\) containing the variable ids stored in this object. Not all variables may be accessed fully.
return: variable ids

## Method: hasIntersection
- parameter: `other`, type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
- return type: `boolean`

Description: Check if there is common range between current range and the other range.
parameter: other: other range
return: true if there is a non empty intersection

## Method: hashCode
- return type: `int`


## Method: intersection
- parameter: `other`, type: `com.pnfsoftware.jeb.core.units.code.IdRanges`
- return type: `com.pnfsoftware.jeb.core.units.code.IdRanges`

Description: Return common range between current range and the other range.
parameter: other: other range
return: intersection

## Method: isEmpty
- return type: `boolean`

Description: Determine whether this collection is empty.
return: true if empty

## Method: remove
- parameter: `var`, type: `com.pnfsoftware.jeb.core.units.code.IVariable`

Description: Remove a variable.
parameter: var: variable

## Method: remove
- parameter: `varId`, type: `int`

Description: Remove a variable by id.
parameter: varId: variable id

## Method: size
- return type: `int`

Description: Provide the number of accessed variables.
return: accessed variable count

## Method: toString
- return type: `java.lang.String`


