aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Partitioning.h
AgeCommit message (Collapse)AuthorFilesLines
2024-12-13Feature [feature-requests:#1538]. Reduce range checks in PartitionFromPositionZufu Liu1-1/+1
to improve performance.
2022-07-29Apply rule-of-zero to delete standard methods where possible as handled byNeil1-9/+0
contained types. This allows flexibility as most lower-level data types can be moved and SplitVector and Partitioning of non-move-only types may be copied. CellBuffer still needs destructor due to incomplete type so retains all standard operations.
2022-07-29Use SplitVector directly instead of throughSplitVectorWithRangeAdd which wasNeil1-51/+35
only ever used by Partitioning.
2022-07-29Flatten Partitioning and RunStyles to avoid a level of indirection by containingNeil1-25/+25
SplitVector and Partitioning directly instead of using std::unique_ptr. This will enable more value semantics and reduces potential memory allocation failure scenarios.
2022-07-29Add growSize argument to SplitVector constructor with default value so can beNeil1-2/+2
used more simply. Add default value to growSize argument of Partitioning to enable default construction.
2022-07-25Use T type parameter for RangeAddDelta arguments to harmonize types and avoidNeil1-6/+7
warnings.
2022-07-04Feature [feature-requests:#1442] Tighter checking of indices avoids handlingZufu Liu1-2/+2
out-of-bounds in lower layer. Make expressions agree in ApplyStep for clarity.
2021-07-15Feature [feature-requests:#1370] Implement SCI_ALLOCATELINES to allocate indicesZufu Liu1-0/+5
to hold some number of lines. This is an optimization that can decrease reallocation overhead.
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-1/+1
and ScintillaStructures.h using scoped enumerations. Use these headers instead of Scintilla.h internally. External definitions go in the Scintilla namespace and internal definitio0ns in Scintilla::Internal.
2020-05-04Feature [feature-requests:1347]. Add methods to insert multiple partitions.Neil1-0/+20
2019-12-02Use noexcept and const where reasonable.Neil1-1/+1
2019-12-01Fix a bug with deleting the first element in SparseVector that left an extraNeil1-0/+32
empty partition. Add extra checking to Partitioning and turn on checking for UnitTester.
2018-04-21Use noexcept in basic data structures where reasonable.Neil1-5/+9
Declare the standard member functions in more classes
2018-04-21Tighten definition of regular expression iterators so they are noexcept andNeil1-3/+3
define all the standard member functions. This cascades to all methods called by the iterators, affecting Document, CellBuffer, Partitioning, SplitVector and UTF-8 and DBCS functions. Other trivial functions declared noexcept.
2018-04-18Avoid an overflow warning seen when compiling for Qt.Neil Hodgson1-1/+2
2018-03-01Use make_unique in preference to new.Neil1-1/+1
From Effective Modern C++ Item 21.
2018-02-01Templatize Partitioning so it can hold different types.Neil1-27/+29
2018-01-26Extend SplitVector to allow more than 2 billion elements on 64-bit systems.Neil1-13/+13
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-4/+0
interfaces ILexer4 and IDocument.
2017-05-10Use unique_ptr fpr Partitioning, RunStyles, SparseVector, PositionCache andNeil1-7/+3
Document.
2017-04-21More consistent deletion of standard methods.Neil1-0/+7
2017-04-06Added const where possible.Neil1-3/+3
2013-12-15Make single argument constructors explicit to avoid unexpected conversions.Neil1-2/+2
2013-07-21Standardising header guards and namespaces.Neil1-0/+9
2011-01-31Comments.nyamatongwe1-0/+5
2010-02-17Formatting whitespace.nyamatongwe1-1/+1
2009-06-24Some extra const constraints added while working on discontiguous selection.nyamatongwe1-1/+1
2007-07-08Added const to methods that should not logically need to modify object.nyamatongwe1-2/+2
2007-04-05Implemented decorations which are extended indicators.nyamatongwe1-1/+1
2007-01-01Major change to CellBuffer class with addition of Partitioning class and ↵nyamatongwe1-0/+184
SplitVector template. Inserting and deleting lines are made more efficient by lessening the amount of per line information copied. Marker data is only allocated for each line if markers are added.