Guitar
RepositoryModel.h
Go to the documentation of this file.
1 #ifndef REPOSITORYMODEL_H
2 #define REPOSITORYMODEL_H
3 
4 #include "BranchLabel.h"
5 #include "GitRunner.h"
6 
7 typedef std::vector<GitTag> TagList;
8 typedef QList<GitBranch> BranchList;
9 typedef QList<BranchLabel> BranchLabelList;
10 
13  std::map<GitHash, BranchList> branch_map;
14  std::map<GitHash, TagList> tag_map;
15  std::map<int, BranchLabelList> label_map;
16 };
17 
19  struct D {
20  std::optional<GitCommitItemList> commit_log;
21  std::optional<std::map<GitHash, BranchList>> branch_map;
22  std::optional<std::map<GitHash, TagList>> tag_map;
23  std::optional<std::map<int, BranchLabelList>> label_map;
24  };
25  std::shared_ptr<D> p;
27  : p(std::make_shared<D>())
28  {}
30  : p(r.p)
31  {}
32 };
33 Q_DECLARE_METATYPE(CommitLogExchangeData)
34 
35 #endif // REPOSITORYMODEL_H
QList< BranchLabel > BranchLabelList
Definition: RepositoryModel.h:9
QList< GitBranch > BranchList
Definition: RepositoryModel.h:8
std::vector< GitTag > TagList
Definition: RepositoryModel.h:7
Definition: GitTypes.h:157
Definition: GitTypes.h:74
Definition: RepositoryModel.h:19
std::optional< std::map< GitHash, TagList > > tag_map
Definition: RepositoryModel.h:22
std::optional< std::map< int, BranchLabelList > > label_map
Definition: RepositoryModel.h:23
std::optional< GitCommitItemList > commit_log
Definition: RepositoryModel.h:20
std::optional< std::map< GitHash, BranchList > > branch_map
Definition: RepositoryModel.h:21
Definition: RepositoryModel.h:18
CommitLogExchangeData(CommitLogExchangeData const &r)
Definition: RepositoryModel.h:29
CommitLogExchangeData()
Definition: RepositoryModel.h:26
std::shared_ptr< D > p
Definition: RepositoryModel.h:25
Definition: RepositoryModel.h:11
std::map< GitHash, TagList > tag_map
Definition: RepositoryModel.h:14
std::map< GitHash, BranchList > branch_map
Definition: RepositoryModel.h:13
GitCommitItemList commit_log
Definition: RepositoryModel.h:12
std::map< int, BranchLabelList > label_map
Definition: RepositoryModel.h:15