diff options
| author | Neil <nyamatongwe@gmail.com> | 2019-12-02 08:34:47 +1100 | 
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2019-12-02 08:34:47 +1100 | 
| commit | 8922ca5662974913ef0ebc93d5d029d281505a32 (patch) | |
| tree | d04ec8635fcfe32ec071567867ad54dff6429c6c /src/SparseVector.h | |
| parent | da8c1844da6e593644f6ae056560553bb409b354 (diff) | |
| download | scintilla-mirror-8922ca5662974913ef0ebc93d5d029d281505a32.tar.gz | |
Add SparseVector::IndexAfter for efficiently finding elements in a range.
Diffstat (limited to 'src/SparseVector.h')
| -rw-r--r-- | src/SparseVector.h | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/src/SparseVector.h b/src/SparseVector.h index e4e0e3f69..3fa1ac95b 100644 --- a/src/SparseVector.h +++ b/src/SparseVector.h @@ -154,6 +154,13 @@ public:  		starts->InsertText(partition, -1);  		Check();  	} +	Sci::Position IndexAfter(Sci::Position position) const noexcept { +		assert(position < Length()); +		if (position < 0) +			return 0; +		const Sci::Position partition = starts->PartitionFromPosition(position); +		return partition + 1; +	}  	void Check() const {  #ifdef CHECK_CORRECTNESS  		starts->Check();  | 
