Quark  0.1
DiffResult.h++
Go to the documentation of this file.
1 #ifndef __libquark_diff_DiffResult_hxx
2 #define __libquark_diff_DiffResult_hxx
3 
4 #include <QVector>
5 
6 #include <quark/DiffChunk.h++>
7 #include <quark/DiffSequence.h++>
8 #include <quark/DiffTypes.h++>
9 
10 namespace quark {
11 namespace diff {
12 
14 {
15  public:
16 
20 
21  virtual ~DiffResult();
22 
23  inline const DiffSequence* theirsSequence() const
24  { return(_theirsSequence.data()); }
25 
26  inline const DiffSequence* baseSequence() const
27  { return(_baseSequence.data()); }
28 
29  inline const DiffSequence* yoursSequence() const
30  { return(_yoursSequence.data()); }
31 
32  int sequenceLength(DiffRole role) const;
33 
34  inline const QVector<DiffChunk*>& diffChunks() const
35  { return(_diffChunks); }
36 
37  inline QVector<DiffChunk*>& diffChunks()
38  { return(_diffChunks); }
39 
40  bool isThreeWay() const;
41  bool isTwoWay() const;
42 
43  private:
44 
45  QScopedPointer<const DiffSequence> _theirsSequence;
46  QScopedPointer<const DiffSequence> _baseSequence;
47  QScopedPointer<const DiffSequence> _yoursSequence;
48  QVector<DiffChunk*> _diffChunks;
49 
50  Q_DISABLE_COPY(DiffResult);
51 };
52 
53 } // namespace diff
54 } // namespace quark
55 
56 #endif // __libquark_diff_DiffResult_hxx
const DiffSequence * theirsSequence() const
Definition: DiffResult.h++:23
DiffResult(const DiffSequence *theirsSequence, const DiffSequence *baseSequence, const DiffSequence *yoursSequence)
const DiffSequence * baseSequence() const
Definition: DiffResult.h++:26
Definition: BarChartView.h++:6
TODO: rewrite comment Abstract base class for sequences that can be diffed.
Definition: DiffSequence.h++:20
int sequenceLength(DiffRole role) const
const DiffSequence * yoursSequence() const
Definition: DiffResult.h++:29
QVector< DiffChunk * > & diffChunks()
Definition: DiffResult.h++:37
const QVector< DiffChunk * > & diffChunks() const
Definition: DiffResult.h++:34
DiffRole
Definition: DiffTypes.h++:11
Definition: DiffResult.h++:13