C# Class Antlr4.Runtime.Misc.IntervalSet

A set of integers that relies on ranges being common to do "run-length-encoded" like compression (if you view an IntSet like a BitSet with runs of 0s and 1s).
A set of integers that relies on ranges being common to do "run-length-encoded" like compression (if you view an IntSet like a BitSet with runs of 0s and 1s). Only ranges are recorded so that a few ints up near value 1000 don't cause massive bitsets, just two integer intervals. element values may be negative. Useful for sets of EPSILON and EOF. 0..9 char range is index pair ['\u0030','\u0039']. Multiple ranges are encoded with multiple index pairs. Isolated elements are encoded with an index pair where both intervals are the same. The ranges are ordered and disjoint so that 2..6 appears before 101..103.
Inheritance: IIntSet
Afficher le fichier Open project: antlr/antlr4 Class Usage Examples

Méthodes publiques

Свойство Type Description
CompleteCharSet Antlr4.Runtime.Misc.IntervalSet
EmptySet Antlr4.Runtime.Misc.IntervalSet

Protected Properties

Свойство Type Description
@readonly bool
intervals IList

Méthodes publiques

Méthode Description
Add ( int el ) : void

Add a single element to the set.

Add a single element to the set. An isolated element is stored as a range el..el.

Add ( int a, int b ) : void

Add interval; i.e., add all integers from a to b to set.

Add interval; i.e., add all integers from a to b to set. If b<a, do nothing. Keep list in sorted order (by left range value). If overlap, combine ranges. For example, If this is {1..5, 10..20}, adding 6..7 yields {1..5, 6..7, 10..20}. Adding 4..8 yields {1..8, 10..20}.

AddAll ( IIntSet set ) : Antlr4.Runtime.Misc.IntervalSet
And ( IIntSet other ) : Antlr4.Runtime.Misc.IntervalSet

Clear ( ) : void
Complement ( IIntSet vocabulary ) : Antlr4.Runtime.Misc.IntervalSet

Complement ( int minElement, int maxElement ) : Antlr4.Runtime.Misc.IntervalSet
Contains ( int el ) : bool

Equals ( object obj ) : bool

Are two IntervalSets equal? Because all intervals are sorted and disjoint, equals is a simple linear walk over both lists to make sure they are the same.

Are two IntervalSets equal? Because all intervals are sorted and disjoint, equals is a simple linear walk over both lists to make sure they are the same. Interval.equals() is used by the List.equals() method to check the ranges.

GetHashCode ( ) : int
GetIntervals ( ) : IList

Return a list of Interval objects.

Return a list of Interval objects.

IntervalSet ( Antlr4 set ) : System
IntervalSet ( IList intervals ) : System
Of ( int a, int b ) : Antlr4.Runtime.Misc.IntervalSet

Create a set with all ints within range [a..b] (inclusive)

Or ( Antlr4 sets ) : Antlr4.Runtime.Misc.IntervalSet

combine all sets in the array returned the or'd value

Or ( IIntSet a ) : Antlr4.Runtime.Misc.IntervalSet
Remove ( int el ) : void
SetReadonly ( bool @readonly ) : void
Subtract ( IIntSet a ) : Antlr4.Runtime.Misc.IntervalSet
ToArray ( ) : int[]
ToIntegerList ( ) : ArrayList
ToList ( ) : IList
ToSet ( ) : HashSet
ToString ( ) : string
ToString ( IVocabulary vocabulary ) : string
ToString ( bool elemAreChar ) : string

Méthodes protégées

Méthode Description
Add ( Interval addition ) : void

Private Methods

Méthode Description
ElementName ( IVocabulary vocabulary, int a ) : string
IIntSet ( IIntSet set ) : IIntSet
IntervalSet ( ) : System
Of ( int a ) : Antlr4.Runtime.Misc.IntervalSet
Subtract ( Antlr4 left, Antlr4 right ) : Antlr4.Runtime.Misc.IntervalSet

Method Details

Add() protected méthode

protected Add ( Interval addition ) : void
addition Interval
Résultat void

Add() public méthode

Add a single element to the set.
Add a single element to the set. An isolated element is stored as a range el..el.
public Add ( int el ) : void
el int
Résultat void

Add() public méthode

Add interval; i.e., add all integers from a to b to set.
Add interval; i.e., add all integers from a to b to set. If b<a, do nothing. Keep list in sorted order (by left range value). If overlap, combine ranges. For example, If this is {1..5, 10..20}, adding 6..7 yields {1..5, 6..7, 10..20}. Adding 4..8 yields {1..8, 10..20}.
public Add ( int a, int b ) : void
a int
b int
Résultat void

AddAll() public méthode

public AddAll ( IIntSet set ) : Antlr4.Runtime.Misc.IntervalSet
set IIntSet
Résultat Antlr4.Runtime.Misc.IntervalSet

And() public méthode

public And ( IIntSet other ) : Antlr4.Runtime.Misc.IntervalSet
other IIntSet
Résultat Antlr4.Runtime.Misc.IntervalSet

Clear() public méthode

public Clear ( ) : void
Résultat void

Complement() public méthode

public Complement ( IIntSet vocabulary ) : Antlr4.Runtime.Misc.IntervalSet
vocabulary IIntSet
Résultat Antlr4.Runtime.Misc.IntervalSet

Complement() public méthode

public Complement ( int minElement, int maxElement ) : Antlr4.Runtime.Misc.IntervalSet
minElement int
maxElement int
Résultat Antlr4.Runtime.Misc.IntervalSet

Contains() public méthode

public Contains ( int el ) : bool
el int
Résultat bool

Equals() public méthode

Are two IntervalSets equal? Because all intervals are sorted and disjoint, equals is a simple linear walk over both lists to make sure they are the same.
Are two IntervalSets equal? Because all intervals are sorted and disjoint, equals is a simple linear walk over both lists to make sure they are the same. Interval.equals() is used by the List.equals() method to check the ranges.
public Equals ( object obj ) : bool
obj object
Résultat bool

GetHashCode() public méthode

public GetHashCode ( ) : int
Résultat int

GetIntervals() public méthode

Return a list of Interval objects.
Return a list of Interval objects.
public GetIntervals ( ) : IList
Résultat IList

IntervalSet() public méthode

public IntervalSet ( Antlr4 set ) : System
set Antlr4
Résultat System

IntervalSet() public méthode

public IntervalSet ( IList intervals ) : System
intervals IList
Résultat System

Of() public static méthode

Create a set with all ints within range [a..b] (inclusive)
public static Of ( int a, int b ) : Antlr4.Runtime.Misc.IntervalSet
a int
b int
Résultat Antlr4.Runtime.Misc.IntervalSet

Or() public static méthode

combine all sets in the array returned the or'd value
public static Or ( Antlr4 sets ) : Antlr4.Runtime.Misc.IntervalSet
sets Antlr4
Résultat Antlr4.Runtime.Misc.IntervalSet

Or() public méthode

public Or ( IIntSet a ) : Antlr4.Runtime.Misc.IntervalSet
a IIntSet
Résultat Antlr4.Runtime.Misc.IntervalSet

Remove() public méthode

public Remove ( int el ) : void
el int
Résultat void

SetReadonly() public méthode

public SetReadonly ( bool @readonly ) : void
@readonly bool
Résultat void

Subtract() public méthode

public Subtract ( IIntSet a ) : Antlr4.Runtime.Misc.IntervalSet
a IIntSet
Résultat Antlr4.Runtime.Misc.IntervalSet

ToArray() public méthode

public ToArray ( ) : int[]
Résultat int[]

ToIntegerList() public méthode

public ToIntegerList ( ) : ArrayList
Résultat ArrayList

ToList() public méthode

public ToList ( ) : IList
Résultat IList

ToSet() public méthode

public ToSet ( ) : HashSet
Résultat HashSet

ToString() public méthode

public ToString ( ) : string
Résultat string

ToString() public méthode

public ToString ( IVocabulary vocabulary ) : string
vocabulary IVocabulary
Résultat string

ToString() public méthode

public ToString ( bool elemAreChar ) : string
elemAreChar bool
Résultat string

Property Details

@readonly protected_oe property

protected bool @readonly
Résultat bool

CompleteCharSet public_oe static_oe property

public static Antlr4.Runtime.Misc.IntervalSet CompleteCharSet
Résultat Antlr4.Runtime.Misc.IntervalSet

EmptySet public_oe static_oe property

public static Antlr4.Runtime.Misc.IntervalSet EmptySet
Résultat Antlr4.Runtime.Misc.IntervalSet

intervals protected_oe property

The list of sorted, disjoint intervals.
The list of sorted, disjoint intervals.
protected IList intervals
Résultat IList