Public Types | |
enum | Filter { Filter.e_All = 0, Filter.e_Even = 1, Filter.e_Odd = 2 } |
Enumeration for range filter. More... | |
Public Member Functions | |
Range () | |
Constructor. | |
Range (int index) | |
Constructor, with a single index. More... | |
Range (int start_index, int end_index, Range.Filter filter) | |
Constructor, with a specified index range. More... | |
void | AddSegment (int start_index, int end_index, Range.Filter filter) |
Add a new range segment. (Reverse ordering is legal.) More... | |
void | AddSingle (int index) |
Add an index as a new range segment. More... | |
int | GetSegmentCount () |
Get the count of range segments. More... | |
int | GetSegmentEnd (int segment_index) |
Get the end index of a specified range segment. More... | |
int | GetSegmentStart (int segment_index) |
Get the start index of a specified range segment. More... | |
bool | IsEmpty () |
Check whether current object is empty or not. More... | |
void | RemoveAll () |
Remove all range segments. More... | |
This class represents index range. Here, a range consists of one or more segments and each segment consists of one single index or a group of consecutive indexes.
|
strong |
|
inline |
Constructor, with a single index.
index | A single index. |
|
inline |
Constructor, with a specified index range.
start_index | The start index of a range segment. |
end_index | The end index of a range segment. |
filter | Filter type to decide which indexes of this range would be used. Please refer to e_XXX values and it should be one of these values. Specially, when this value is e_Even or e_Odd, that means each even or odd number within the specified range segment will be treated as a single segment. |
|
inline |
Add a new range segment. (Reverse ordering is legal.)
start_index | The start index of a new range segment. |
end_index | The end index of a new range segment. |
filter | Filter type to decide which indexes of this range would be used. Please refer to e_XXX values and it should be one of these values. Specially, when this value is e_Even or e_Odd, that means each even or odd number within the specified range segment will be treated as a single segment. |
|
inline |
Add an index as a new range segment.
index | An index to be added as a new range segment. |
|
inline |
Get the count of range segments.
|
inline |
Get the end index of a specified range segment.
segment_index | The segment index. Valid range: 0 to (count-1). count is returned by function Range::GetSegmentCount. |
|
inline |
Get the start index of a specified range segment.
segment_index | The segment index. Valid range: 0 to (count-1). count is returned by function Range::GetSegmentCount. |
|
inline |
Check whether current object is empty or not.
When the current object is empty, that means current object is useless.
|
inline |
Remove all range segments.