NCBI C++ ToolKit
|
Classes | |
class | CDiffOperation |
CDiffOperation – The storage class for one diff operation. More... | |
struct | CDiffOperation::SPos |
Structure to save offset/length in the compared strings. More... | |
class | CDiffList |
CDiffList – the list of diff operations. More... | |
class | CDiffBase |
CDiffBase – Diff and compare texts (base class) More... | |
class | CDiff |
CDiff –. More... | |
class | CDiffText |
CDiffText – Diff and compare texts (line mode) More... | |
class | CDiffException |
CDiffException –. More... | |
Typedefs | |
typedef size_t | CDiffOperation::size_type |
typedef CDiffOperation::size_type | CDiffList::size_type |
Size type definition. More... | |
typedef list< CDiffOperation > | CDiffList::TList |
Storage class type for the list of diff operations. More... | |
typedef CDiffOperation::size_type | CDiffBase::size_type |
Type definition. More... | |
typedef unsigned int | CDiff::TFlags |
Bitwise OR of "EFlags". More... | |
typedef vector< CTempString > | CDiff::TDiffHalfMatchList |
Five element array for the list of strings, returned by x_DiffHalfMatch() More... | |
typedef unsigned int | CDiffText::TFlags |
Bitwise OR of "Flags". More... | |
Enumerations | |
enum | CDiffOperation::EType { CDiffOperation::eDelete , CDiffOperation::eEqual , CDiffOperation::eInsert } |
Type of the current diff operation. More... | |
enum | CDiff::EFlags { CDiff::fNoCleanup = 1 << 0 , CDiff::fCalculateOffsets = 1 << 1 } |
Processing flags. More... | |
enum | CDiffText::EFlags { CDiffText::fCleanup = 1 << 0 , CDiffText::fCalculateOffsets = 1 << 1 , CDiffText::fIgnoreEOL = 1 << 2 , CDiffText::fRemoveEOL = 1 << 3 } |
Processing flags. More... | |
enum | CDiffException::EErrCode { CDiffException::eEmpty , CDiffException::eBadFlags } |
Functions | |
CDiffOperation::SPos::SPos (size_type p1=NPOS, size_type p2=NPOS) | |
CDiffOperation::CDiffOperation (EType operation, CTempString str) | |
Constructor. More... | |
EType | CDiffOperation::GetOperation () const |
Get type of operation. More... | |
bool | CDiffOperation::IsInsert (void) const |
Check type of operation. More... | |
bool | CDiffOperation::IsDelete (void) const |
bool | CDiffOperation::IsEqual (void) const |
CTempString | CDiffOperation::GetString (void) const |
Get string for current operation. More... | |
size_type | CDiffOperation::GetLength (void) const |
Get string length. More... | |
SPos | CDiffOperation::GetOffset (void) const |
Get offset of the current difference in the original text. More... | |
SPos | CDiffOperation::GetLine (void) const |
Get line number of the current difference (line-mode diff only). More... | |
bool | CDiffOperation::operator== (const CDiffOperation &diff_op) const |
Compare substrings and operation types only, all other attributes (offset, row, col and etc) are not used in comparison. More... | |
bool | CDiffOperation::operator!= (const CDiffOperation &diff_op) const |
void | CDiffOperation::SetOperation (EType operation) |
void | CDiffOperation::SetString (CTempString str, size_type len=NPOS) |
void | CDiffOperation::SetLength (size_type length) |
void | CDiffOperation::SetOffset (SPos offset) |
void | CDiffOperation::SetLine (SPos line) |
CDiffList::CDiffList (void) | |
Constructor. More... | |
size_type | CDiffList::GetEditDistance (void) const |
Compute the edit distance (Levenshtein distance). More... | |
CTempString | CDiffList::GetLongestCommonSubstring (void) const |
Find the longest common substring for current difference list. More... | |
void | CDiffList::CleanupAndMerge (void) |
Reorder and merge like edit sections, merge equalities. More... | |
void | CDiffList::CalculateOffsets (void) |
Calculate offsets for all substrings in the difference list and find its position from the start of the original strings, used in diff. More... | |
const TList & | CDiffList::GetList (void) const |
Get list of the diff operations as list<>. More... | |
void | CDiffList::Clear (void) |
Remove all elements from the list. More... | |
void | CDiffList::Prepend (CDiffOperation::EType operation, CTempString str) |
Add element to the front of the list. More... | |
void | CDiffList::Prepend (const CDiffOperation &op) |
Add element to the front of the list. More... | |
void | CDiffList::Append (CDiffOperation::EType operation, CTempString str) |
Add element to the end of the list. More... | |
void | CDiffList::Append (const CDiffOperation &op) |
Add element to the end of the list. More... | |
void | CDiffList::x_CleanupAndMerge_Equities (void) |
Merge adjacent parts with the same operation. More... | |
bool | CDiffList::x_CleanupAndMerge_SingleEdits (void) |
Look for single edits surrounded on both sides by equalities which can be shifted sideways to eliminate an equality. More... | |
void | CDiffBase::SetTimeout (const CTimeout &tmo) |
Set timeout. More... | |
bool | CDiffBase::IsTimeoutExpired () const |
Check if timeout is expired. More... | |
CDiffBase::CDiffBase (void) | |
Constructor. More... | |
void | CDiffBase::Reset (void) |
Reset internal state and prepare to next Diff() More... | |
CDiffList & | CDiff::Diff (CTempString s1, CTempString s2, TFlags flags=0) |
Find the differences between two texts (character mode). More... | |
bool | CDiff::x_DiffHalfMatch (CTempString s1, CTempString s2, TDiffHalfMatchList &hm) const |
Do the two texts share a substring which is at least half the length of the longer text? This speedup can produce non-minimal diffs. More... | |
bool | CDiff::x_DiffHalfMatchI (CTempString long_str, CTempString short_str, size_type i, TDiffHalfMatchList &hm) const |
Does a substring of short string exist within long string such that the substring is at least half the length of long string? More... | |
void | CDiff::x_DiffBisect (CTempString s1, CTempString s2, CDiffList &diffs) const |
Find the 'middle snake' of a diff, split the problem in two and return the recursively constructed diff. More... | |
void | CDiff::x_DiffBisectSplit (CTempString s1, CTempString s2, int x, int y, CDiffList &diffs) const |
Given the location of the 'middle snake', split the diff in two parts and recurse. More... | |
void | CDiff::x_Diff (CTempString s1, CTempString s2, CDiffList &diffs) const |
Find the differences between two texts. More... | |
CDiffList & | CDiffText::Diff (CTempString text1, CTempString text2, TFlags flags=0) |
Find the differences between two texts (line mode). More... | |
CNcbiOstream & | CDiffText::PrintUnifiedDiff (CNcbiOstream &out, CTempString text1, CTempString text2, unsigned int num_common_lines=3) |
Find the differences between two texts and print result into output stream in unified-like format. More... | |
virtual const char * | CDiffException::GetErrCodeString (void) const override |
Get error code interpreted as text. More... | |
CDiffException::NCBI_EXCEPTION_DEFAULT (CDiffException, CException) | |
Variables | |
size_type | CDiffOperation::SPos::first |
Position in first (original) string. More... | |
size_type | CDiffOperation::SPos::second |
Position in second (result) string. More... | |
EType | CDiffOperation::m_Operation |
Type of the current diff operation. More... | |
CTempString | CDiffOperation::m_String |
The string associated with this diff operation. More... | |
size_type | CDiffOperation::m_Length |
The real length of the m_String (including EOL, if it was truncated in line-mode diff) More... | |
SPos | CDiffOperation::m_Offset |
The offsets of the current string in the original string (or NPOS) More... | |
SPos | CDiffOperation::m_Line |
Line numbers of the current diff (or NPOS) – line-mode only. More... | |
TList | CDiffList::m_List |
List of the differences. More... | |
CDiffList | CDiffBase::m_Diffs |
The list of differences from the last diff. More... | |
CTimeout | CDiffBase::m_Timeout |
Relative timeout for processing. More... | |
CDeadline * | CDiffBase::m_Deadline |
Deadline for processing (NULL if not set) More... | |
Friends | |
class | CDiffOperation::CDiffList |
class | CDiffOperation::CDiff |
class | CDiffOperation::CDiffText |
class | CDiffList::CDiff |
class | CDiffList::CDiffText |
class | CDiffBase::CDiff |
class | CDiffBase::CDiffText |
typedef size_t CDiffOperation::size_type |
|
private |
Five element array for the list of strings, returned by x_DiffHalfMatch()
typedef unsigned int CDiff::TFlags |
typedef unsigned int CDiffText::TFlags |
typedef list<CDiffOperation> CDiffList::TList |
enum CDiff::EFlags |
Processing flags.
Enumerator | |
---|---|
fNoCleanup | By default Diff() automatically call CleanupAndMerge() for the generated list of differences to have a shorter and cleaner list of results. It is on by default for regular character-based diff. But if you need faster (and less optimal) result, you can skip it. |
fCalculateOffsets | Automatically call CalculateOffests() for the generated list of differences. |
enum CDiffText::EFlags |
Processing flags.
Enumerator | |
---|---|
fCleanup | Automatically call CleanupAndMerge() for the generated list of differences after Diff() to have a shorter and cleaner list of results. It is off by default for line-based diffs. |
fCalculateOffsets | Automatically call CalculateOffests() for the generated list of differences. |
fIgnoreEOL | Ignore differences in end-of-line types on string comparison. |
fRemoveEOL | Remove end-of-line symbols from each string added to the list, which can be obtained using CDiffOperation::GetString(). This flag is incompatible with fCleanup, exception will be thrown if they where used together. The fRemoveEOL affect a visual appearance of the string, and do not have an influence on how lines with different kind of EOLs compares, use fIgnoreEOL in addition if necessary. |
enum CDiffOperation::EType | ( | void | ) |
|
inline |
Add element to the end of the list.
Definition at line 578 of file diff.hpp.
References CDiffList::m_List, and str().
Referenced by CDiff::Diff(), CDiffText::Diff(), CDiff::x_Diff(), and CDiff::x_DiffBisect().
|
inline |
Add element to the end of the list.
Definition at line 586 of file diff.hpp.
References CDiffList::m_List.
void CDiffList::CalculateOffsets | ( | void | ) |
Calculate offsets for all substrings in the difference list and find its position from the start of the original strings, used in diff.
For performance reasons, Diff() do not operate with offsets of the substrings and do not store them, but as original strings can be easy reconstructed from the list of diffs, that offsets also can be calculated afterwards.
For DELETE or EQUAl type operations the calculated value is an offset of the substring in the first (original) string used in diff. For INSERT type operation the calculated value is an offset in the second (result) string used in diff.
Definition at line 152 of file diff.cpp.
References DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, eEmpty, CDiffList::m_List, NCBI_THROW, NON_CONST_ITERATE, and NPOS.
Referenced by CDiff::Diff(), and CDiffText::Diff().
CDiffOperation::CDiffOperation | ( | EType | operation, |
CTempString | str | ||
) |
void CDiffList::CleanupAndMerge | ( | void | ) |
Reorder and merge like edit sections, merge equalities.
This method can make resulting list cleaner and shorter, but this can take some time.
Definition at line 125 of file diff.cpp.
References ITERATE, CDiffList::m_List, NCBI_THROW, CDiffList::x_CleanupAndMerge_Equities(), and CDiffList::x_CleanupAndMerge_SingleEdits().
Referenced by CDiff::Diff(), and CDiffText::Diff().
|
inline |
Remove all elements from the list.
Definition at line 592 of file diff.hpp.
References CDiffList::m_List.
Referenced by CDiffBase::Reset().
CDiffList & CDiff::Diff | ( | CTempString | s1, |
CTempString | s2, | ||
TFlags | flags = 0 |
||
) |
Find the differences between two texts (character mode).
s1 | Old string to be diffed. |
s2 | New string to be diffed. @flags Processing flags. |
Definition at line 364 of file diff.cpp.
References CDiffList::Append(), CDiffList::CalculateOffsets(), CDiffList::CleanupAndMerge(), NStr::CommonPrefixSize(), NStr::CommonSuffixSize(), DIFF_EQUAL, CTempString::empty(), F_ISSET, CDiff::fCalculateOffsets, CDiff::fNoCleanup, CTimeout::IsInfinite(), CDiffBase::IsTimeoutExpired(), CTempString::length(), CDiffBase::m_Deadline, CDiffBase::m_Diffs, CDiffBase::m_Timeout, NULL, CDiffList::Prepend(), CDiff_Base::Reset(), CTempString::substr(), and CDiff::x_Diff().
CDiffList & CDiffText::Diff | ( | CTempString | text1, |
CTempString | text2, | ||
TFlags | flags = 0 |
||
) |
Find the differences between two texts (line mode).
Run a line-based diff, that operates with whole lines, and not trying to find a differences inside added/deleted blocks of lines.
text1 | Old text to be diffed. |
text2 | New text to be diffed. @flags Processing flags. Default: non-optimal line-based diff that have all EOLs. |
Definition at line 766 of file diff.cpp.
References _TROUBLE, _VERIFY, CDiffList::Append(), CDiffList::CalculateOffsets(), CDiffList::CleanupAndMerge(), dtl::Diff< elem, sequence, comparator >::compose(), CTempString::data(), DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, F_ISSET, CDiffText::fCalculateOffsets, CDiffText::fCleanup, CDiffText::fIgnoreEOL, CDiffText::fRemoveEOL, dtl::Diff< elem, sequence, comparator >::getSes(), i, CTimeout::IsInfinite(), CDiffBase::IsTimeoutExpired(), len, CTempString::length(), line1, line2, CDiffBase::m_Deadline, CDiffBase::m_Diffs, CDiffList::m_List, CDiffBase::m_Timeout, NCBI_THROW, NPOS, NULL, dtl::Diff< elem, sequence, comparator >::onHuge(), CDiffBase::Reset(), dtl::SES_ADD, dtl::SES_COMMON, dtl::SES_DELETE, CDiffOperation::SetLength(), CDiffOperation::SetLine(), NStr::Split(), and str().
Referenced by CDiffText::PrintUnifiedDiff().
CDiffList::size_type CDiffList::GetEditDistance | ( | void | ) | const |
Compute the edit distance (Levenshtein distance).
Can be used to check how much strings differ.
Definition at line 70 of file diff.cpp.
References DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, eEmpty, CDiffList::GetList(), ITERATE, max(), and NCBI_THROW.
|
overridevirtual |
Get error code interpreted as text.
Reimplemented from CException.
Definition at line 1164 of file diff.cpp.
References CDiffException::eBadFlags, CDiffException::eEmpty, CException::GetErrCode(), and CException::GetErrCodeString().
|
inline |
Get string length.
For character-based diffs it is the same as GetString().length(). But in the line-based diffs the string can be truncated and it may not have ending EOL. So, the original string can be reconstructed using: CTempString(op.GetString().data(), op.GetLength())
Definition at line 113 of file diff.hpp.
References CDiffOperation::m_Length.
|
inline |
Get line number of the current difference (line-mode diff only).
Line numbers are 1-based.
Definition at line 516 of file diff.hpp.
References CDiffOperation::m_Line.
|
inline |
Get list of the diff operations as list<>.
Definition at line 558 of file diff.hpp.
References CDiffList::m_List.
Referenced by CDiffList::GetEditDistance(), CDiffList::GetLongestCommonSubstring(), and CDiffText::PrintUnifiedDiff().
CTempString CDiffList::GetLongestCommonSubstring | ( | void | ) | const |
Find the longest common substring for current difference list.
Definition at line 101 of file diff.cpp.
References eEmpty, CDiffList::GetList(), ITERATE, len, and NCBI_THROW.
|
inline |
Get offset of the current difference in the original text.
Return structure with offsets in the first (original) and in the second (result) strings.
For performance reasons, Diff() does not operate with offsets of the substrings and it does not store them. Original strings can be easily reconstructed from the list of diffs, and offsets also can be calculated afterwards. See CDiffList::CalculateOffsets().
Definition at line 510 of file diff.hpp.
References CDiffOperation::m_Offset.
|
inline |
Get type of operation.
Definition at line 95 of file diff.hpp.
References CDiffOperation::m_Operation.
|
inline |
Get string for current operation.
Definition at line 103 of file diff.hpp.
References CDiffOperation::m_String.
|
inline |
Definition at line 99 of file diff.hpp.
References CDiffOperation::eDelete, and CDiffOperation::m_Operation.
|
inline |
Definition at line 100 of file diff.hpp.
References CDiffOperation::eEqual, and CDiffOperation::m_Operation.
|
inline |
Check type of operation.
Definition at line 98 of file diff.hpp.
References CDiffOperation::eInsert, and CDiffOperation::m_Operation.
|
inline |
Check if timeout is expired.
Definition at line 610 of file diff.hpp.
References CDeadline::IsExpired(), and CDiffBase::m_Deadline.
Referenced by CDiff::Diff(), CDiffText::Diff(), and CDiff::x_DiffBisect().
CDiffException::NCBI_EXCEPTION_DEFAULT | ( | CDiffException | , |
CException | |||
) |
|
inline |
Definition at line 504 of file diff.hpp.
References CDiffOperation::operator==().
|
inline |
Compare substrings and operation types only, all other attributes (offset, row, col and etc) are not used in comparison.
Definition at line 497 of file diff.hpp.
References CDiffOperation::m_Operation, and CDiffOperation::m_String.
Referenced by CDiffOperation::operator!=().
|
inline |
Add element to the front of the list.
Definition at line 564 of file diff.hpp.
References CDiffList::m_List, and str().
Referenced by CDiff::Diff(), and CDiffList::x_CleanupAndMerge_Equities().
|
inline |
Add element to the front of the list.
Definition at line 572 of file diff.hpp.
References CDiffList::m_List.
CNcbiOstream & CDiffText::PrintUnifiedDiff | ( | CNcbiOstream & | out, |
CTempString | text1, | ||
CTempString | text2, | ||
unsigned int | num_common_lines = 3 |
||
) |
Find the differences between two texts and print result into output stream in unified-like format.
out | The output stream. |
text1 | Old text to be diffed. |
text2 | New text to be diffed. |
num_common_lines | The number of unchanged lines shown above and below a change hunk. Three lines is typically the default. Use zero, if you need to see a changes only, without any surrounding text. |
Definition at line 1048 of file diff.cpp.
References CDiffText::Diff(), DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, CDiffText::fRemoveEOL, CDiffList::GetList(), out(), and s_PrintUnifiedHunk().
|
inlineprotected |
Reset internal state and prepare to next Diff()
Definition at line 603 of file diff.hpp.
References CDiffList::Clear(), CDiffBase::m_Deadline, CDiffBase::m_Diffs, and NULL.
Referenced by CDiffText::Diff().
|
inlineprotected |
Definition at line 528 of file diff.hpp.
References CDiffOperation::m_Length.
Referenced by CDiffText::Diff().
|
inlineprotected |
Definition at line 547 of file diff.hpp.
References CDiffOperation::m_Line.
Referenced by CDiffText::Diff().
|
inlineprotected |
Definition at line 541 of file diff.hpp.
References CDiffOperation::m_Offset, and offset.
|
inlineprotected |
Definition at line 522 of file diff.hpp.
References CDiffOperation::m_Operation.
|
inlineprotected |
Definition at line 534 of file diff.hpp.
References len, CDiffOperation::m_Length, CDiffOperation::m_String, NPOS, and str().
Set timeout.
Despite the large number of optimizations used in Diff(), it can take a while to compute. You can limit its execution time using this method. The default value for timeout if not specified is infinity, that lets diff run until completion. Should diff timeout, the return value will still be a valid difference, though probably non-optimal.
Definition at line 301 of file diff.hpp.
References CDiffBase::m_Timeout.
|
private |
Merge adjacent parts with the same operation.
Any edit section can move as long as it doesn't cross an equality.
Definition at line 182 of file diff.cpp.
References NStr::CommonPrefixSize(), NStr::CommonSuffixSize(), CTempString::data(), DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, CTempString::length(), CDiffList::m_List, CDiffList::Prepend(), and CTempString::substr().
Referenced by CDiffList::CleanupAndMerge().
|
private |
Look for single edits surrounded on both sides by equalities which can be shifted sideways to eliminate an equality.
e.g: ABAC -> ABAC Return TRUE if shifts were made and the diff needs reordering and another shift sweep
Definition at line 287 of file diff.cpp.
References _VERIFY, CTempString::data(), DIFF_EQUAL, NStr::EndsWith(), CTempString::length(), CDiffList::m_List, and NStr::StartsWith().
Referenced by CDiffList::CleanupAndMerge().
|
private |
Find the differences between two texts.
Assumes that the texts do not have any common prefix or suffix.
s1 | Old string to be diffed. |
s2 | New string to be diffed. |
diffs | Resulting list of the diff operations. |
Definition at line 705 of file diff.cpp.
References CDiffList::Append(), DIFF_DELETE, DIFF_EQUAL, DIFF_INSERT, CTempString::empty(), CTempString::find(), i, CTempString::length(), CDiffList::m_List, NPOS, CTempString::substr(), CDiff::x_DiffBisect(), and CDiff::x_DiffHalfMatch().
Referenced by CDiff::Diff(), and CDiff::x_DiffBisectSplit().
|
private |
Find the 'middle snake' of a diff, split the problem in two and return the recursively constructed diff.
See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.
s1 | Old string to be diffed. |
s2 | New string to be diffed. |
diffs | Resulting list of the diff operations. |
Definition at line 551 of file diff.cpp.
References CDiffList::Append(), delta(), DIFF_DELETE, DIFF_INSERT, ctll::front(), int, CDiffBase::IsTimeoutExpired(), CTempString::length(), v2, and CDiff::x_DiffBisectSplit().
Referenced by CDiff::x_Diff().
|
private |
Given the location of the 'middle snake', split the diff in two parts and recurse.
s1 | Old string to be diffed. |
s2 | New string to be diffed. |
x | Index of split point in 's1'. |
y | Index of split point in 's2'. |
diffs | Resulting list of the diff operations. |
Definition at line 683 of file diff.cpp.
References CTempString::substr(), and CDiff::x_Diff().
Referenced by CDiff::x_DiffBisect().
|
private |
Do the two texts share a substring which is at least half the length of the longer text? This speedup can produce non-minimal diffs.
s1 | First string. |
s2 | Second string. |
hm | Five element array, containing the prefix of 's1', the suffix of 's1', the prefix of 's2', the suffix of 's2' and the common middle. |
Definition at line 442 of file diff.cpp.
References CTimeout::IsInfinite(), CTempString::length(), CDiffBase::m_Timeout, tmp, and CDiff::x_DiffHalfMatchI().
Referenced by CDiff::x_Diff().
|
private |
Does a substring of short string exist within long string such that the substring is at least half the length of long string?
long_str | Longer string. |
short_str | Shorter string. |
i | Start index of quarter length substring within long string. |
hm | Five element Array, containing the prefix of 'long_str', the suffix of 'long_str', the prefix of 'short_str', the suffix of 'short_str' and the common middle. |
Definition at line 505 of file diff.cpp.
References NStr::CommonPrefixSize(), NStr::CommonSuffixSize(), CTempString::find(), i, CTempString::length(), NPOS, seed, and CTempString::substr().
Referenced by CDiff::x_DiffHalfMatch().
size_type CDiffOperation::SPos::first |
|
protected |
Deadline for processing (NULL if not set)
Definition at line 319 of file diff.hpp.
Referenced by CDiff::Diff(), CDiffText::Diff(), CDiffBase::IsTimeoutExpired(), and CDiffBase::Reset().
|
protected |
The list of differences from the last diff.
Definition at line 317 of file diff.hpp.
Referenced by CDiff::Diff(), CDiffText::Diff(), and CDiffBase::Reset().
|
private |
The real length of the m_String (including EOL, if it was truncated in line-mode diff)
Definition at line 170 of file diff.hpp.
Referenced by CDiffOperation::GetLength(), CDiffOperation::SetLength(), and CDiffOperation::SetString().
|
private |
Line numbers of the current diff (or NPOS) – line-mode only.
Definition at line 173 of file diff.hpp.
Referenced by CDiffOperation::GetLine(), and CDiffOperation::SetLine().
|
private |
List of the differences.
Definition at line 276 of file diff.hpp.
Referenced by CDiffList::Append(), CDiffList::CalculateOffsets(), CDiffList::CleanupAndMerge(), CDiffList::Clear(), CDiffText::Diff(), CDiffList::GetList(), CDiffList::Prepend(), CDiffList::x_CleanupAndMerge_Equities(), CDiffList::x_CleanupAndMerge_SingleEdits(), and CDiff::x_Diff().
|
private |
The offsets of the current string in the original string (or NPOS)
Definition at line 172 of file diff.hpp.
Referenced by CDiffOperation::GetOffset(), and CDiffOperation::SetOffset().
|
private |
Type of the current diff operation.
Definition at line 168 of file diff.hpp.
Referenced by CDiffOperation::GetOperation(), CDiffOperation::IsDelete(), CDiffOperation::IsEqual(), CDiffOperation::IsInsert(), CDiffOperation::operator==(), and CDiffOperation::SetOperation().
|
private |
The string associated with this diff operation.
Definition at line 169 of file diff.hpp.
Referenced by CDiffOperation::GetString(), CDiffOperation::operator==(), and CDiffOperation::SetString().
|
protected |
Relative timeout for processing.
Definition at line 318 of file diff.hpp.
Referenced by CDiff::Diff(), CDiffText::Diff(), CDiffBase::SetTimeout(), and CDiff::x_DiffHalfMatch().
size_type CDiffOperation::SPos::second |