Class TimeLineDiffMachineCore

Nested Relationships

Nested Types

Inheritance Relationships

Derived Type

Class Documentation

class TimeLineDiffMachineCore

Subclassed by PDJE_TIMELINE::TimeLineDiffMachine< CapnpType >

Public Types

enum class DiffSide

Values:

enumerator Origin
enumerator Compare
enum class RecoveryMode

Values:

enumerator Object
enumerator Field
enum class ParseMode

Values:

enumerator DirectObject
enumerator WrappedField
enum class RegionKindGuess

Values:

enumerator MixRow
enumerator NoteRow
enumerator KvField
enumerator MusicBpmRow
enumerator MusicMetaField

Protected Functions

TimeLineDiffMachineCore(git_repository *repo, const std::string &target_file, const OID &origin, const OID &compare)
std::optional<TimeLineSemanticDiffResult> RunPipelineCore(TimeLineDiffKind kind, const TypeHooks &hooks)
struct BlobText

Public Members

std::string text
LineIndex index
struct CandidateOffsets

Public Members

std::size_t start_offset = 0
std::size_t end_offset = 0
struct ChangedLineRef

Public Members

DiffSide side = DiffSide::Origin
int hunk_id = -1
int line_no = 0
char diff_origin = '\0'
int hunk_old_start = 0
int hunk_old_lines = 0
int hunk_new_start = 0
int hunk_new_lines = 0
struct DiffCollectPayload

Public Members

std::vector<ChangedLineRef> lines
std::unordered_map<int, HunkRange> hunks
HunkRange current_hunk
int next_hunk_id = 0
struct FinalizedRegion

Public Members

DiffSide side = DiffSide::Origin
int start_line = 0
int end_line = 0
ParseMode parse_mode = ParseMode::DirectObject
RegionKindGuess region_kind = RegionKindGuess::KvField
std::string normalized_text
std::vector<int> source_hunks
struct HunkRange

Public Members

int id = -1
int old_start = 0
int old_lines = 0
int new_start = 0
int new_lines = 0
struct JsonizedRegion

Public Members

DiffSide side = DiffSide::Origin
int start_line = 0
int end_line = 0
ParseMode parse_mode = ParseMode::DirectObject
RegionKindGuess region_kind = RegionKindGuess::KvField
std::vector<int> source_hunks
nj json_value
struct LineIndex

Public Functions

inline int LineCount() const

Public Members

std::vector<std::size_t> line_starts
struct RecoveredFragment

Public Members

DiffSide side = DiffSide::Origin
int hunk_id = -1
int start_line = 0
int end_line = 0
std::string raw_fragment
RecoveryMode recovery_mode = RecoveryMode::Object
RegionKindGuess region_kind = RegionKindGuess::KvField
std::vector<int> source_lines
struct TypeHooks