C# Класс 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.
Наследование: IIntSet
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
CompleteCharSet Antlr4.Runtime.Misc.IntervalSet
EmptySet Antlr4.Runtime.Misc.IntervalSet

Защищенные свойства (Protected)

Свойство Тип Описание
@readonly bool
intervals IList

Открытые методы

Метод Описание
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

Защищенные методы

Метод Описание
Add ( Interval addition ) : void

Приватные методы

Метод Описание
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

Описание методов

Add() защищенный метод

protected Add ( Interval addition ) : void
addition Interval
Результат void

Add() публичный метод

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
Результат void

Add() публичный метод

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
Результат void

AddAll() публичный метод

public AddAll ( IIntSet set ) : Antlr4.Runtime.Misc.IntervalSet
set IIntSet
Результат Antlr4.Runtime.Misc.IntervalSet

And() публичный метод

public And ( IIntSet other ) : Antlr4.Runtime.Misc.IntervalSet
other IIntSet
Результат Antlr4.Runtime.Misc.IntervalSet

Clear() публичный метод

public Clear ( ) : void
Результат void

Complement() публичный метод

public Complement ( IIntSet vocabulary ) : Antlr4.Runtime.Misc.IntervalSet
vocabulary IIntSet
Результат Antlr4.Runtime.Misc.IntervalSet

Complement() публичный метод

public Complement ( int minElement, int maxElement ) : Antlr4.Runtime.Misc.IntervalSet
minElement int
maxElement int
Результат Antlr4.Runtime.Misc.IntervalSet

Contains() публичный метод

public Contains ( int el ) : bool
el int
Результат bool

Equals() публичный метод

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
Результат bool

GetHashCode() публичный метод

public GetHashCode ( ) : int
Результат int

GetIntervals() публичный метод

Return a list of Interval objects.
Return a list of Interval objects.
public GetIntervals ( ) : IList
Результат IList

IntervalSet() публичный метод

public IntervalSet ( Antlr4 set ) : System
set Antlr4
Результат System

IntervalSet() публичный метод

public IntervalSet ( IList intervals ) : System
intervals IList
Результат System

Of() публичный статический метод

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
Результат Antlr4.Runtime.Misc.IntervalSet

Or() публичный статический метод

combine all sets in the array returned the or'd value
public static Or ( Antlr4 sets ) : Antlr4.Runtime.Misc.IntervalSet
sets Antlr4
Результат Antlr4.Runtime.Misc.IntervalSet

Or() публичный метод

public Or ( IIntSet a ) : Antlr4.Runtime.Misc.IntervalSet
a IIntSet
Результат Antlr4.Runtime.Misc.IntervalSet

Remove() публичный метод

public Remove ( int el ) : void
el int
Результат void

SetReadonly() публичный метод

public SetReadonly ( bool @readonly ) : void
@readonly bool
Результат void

Subtract() публичный метод

public Subtract ( IIntSet a ) : Antlr4.Runtime.Misc.IntervalSet
a IIntSet
Результат Antlr4.Runtime.Misc.IntervalSet

ToArray() публичный метод

public ToArray ( ) : int[]
Результат int[]

ToIntegerList() публичный метод

public ToIntegerList ( ) : ArrayList
Результат ArrayList

ToList() публичный метод

public ToList ( ) : IList
Результат IList

ToSet() публичный метод

public ToSet ( ) : HashSet
Результат HashSet

ToString() публичный метод

public ToString ( ) : string
Результат string

ToString() публичный метод

public ToString ( IVocabulary vocabulary ) : string
vocabulary IVocabulary
Результат string

ToString() публичный метод

public ToString ( bool elemAreChar ) : string
elemAreChar bool
Результат string

Описание свойств

@readonly защищенное свойство

protected bool @readonly
Результат bool

CompleteCharSet публичное статическое свойство

public static Antlr4.Runtime.Misc.IntervalSet CompleteCharSet
Результат Antlr4.Runtime.Misc.IntervalSet

EmptySet публичное статическое свойство

public static Antlr4.Runtime.Misc.IntervalSet EmptySet
Результат Antlr4.Runtime.Misc.IntervalSet

intervals защищенное свойство

The list of sorted, disjoint intervals.
The list of sorted, disjoint intervals.
protected IList intervals
Результат IList