14#ifndef KICAD_GIT_MEMORY_H
15#define KICAD_GIT_MEMORY_H
26 decltype([](git_repository* aRepo) {
27 git_repository_free(aRepo);
34 decltype([](git_reference* aRef) {
35 git_reference_free(aRef);
42 decltype([](git_object* aObject) {
43 git_object_free(aObject);
49 decltype([](git_commit* aCommit) {
50 git_commit_free(aCommit);
57 decltype([](git_tree* aTree) {
65 decltype([](git_index* aIndex) {
66 git_index_free(aIndex);
73 decltype([](git_rebase* aRebase) {
74 git_rebase_free(aRebase);
81 decltype([](git_revwalk* aWalker) {
82 git_revwalk_free(aWalker);
89 decltype([](git_diff* aDiff) {
97 decltype([](git_signature* aSignature) {
98 git_signature_free(aSignature);
105 decltype([](git_config* aConfig) {
106 git_config_free(aConfig);
113 decltype([](git_remote* aRemote) {
114 git_remote_free(aRemote);
121 decltype([](git_annotated_commit* aCommit) {
122 git_annotated_commit_free(aCommit);
129 decltype([](git_oid* aOid) {
137 decltype([](git_buf* aBuf) {
145 decltype([](git_blame* aBlame) {
146 git_blame_free(aBlame);
153 decltype([](git_blob* aBlob) {
154 git_blob_free(aBlob);
161 decltype([](git_branch_iterator* aIter) {
162 git_branch_iterator_free(aIter);
169 decltype([](git_config_entry* aEntry) {
170 git_config_entry_free(aEntry);
177 decltype([](git_config_iterator* aIter) {
178 git_config_iterator_free(aIter);
185 decltype([](git_credential* aCred) {
186 git_credential_free(aCred);
193 decltype([](git_oidarray* aArray) {
194 git_oidarray_free(aArray);
201 decltype([](git_strarray* aArray) {
202 git_strarray_free(aArray);
209 decltype([](git_describe_result* aResult) {
210 git_describe_result_free(aResult);
217 decltype([](git_diff_stats* aStats) {
218 git_diff_stats_free(aStats);
225 decltype([](git_filter_list* aFilters) {
226 git_filter_list_free(aFilters);
233 decltype([](git_indexer* aIdx) {
234 git_indexer_free(aIdx);
241 decltype([](git_index_iterator* aIterator) {
242 git_index_iterator_free(aIterator);
249 decltype([](git_index_conflict_iterator* aIterator) {
250 git_index_conflict_iterator_free(aIterator);
257 decltype([](git_status_list* aList) {
258 git_status_list_free(aList);
std::unique_ptr< git_diff_stats, decltype([](git_diff_stats *aStats) { git_diff_stats_free(aStats) GitDiffStatsPtr
A unique pointer for git_diff_stats objects with automatic cleanup.
std::unique_ptr< git_object, decltype([](git_object *aObject) { git_object_free(aObject) GitObjectPtr
A unique pointer for git_object objects with automatic cleanup.
std::unique_ptr< git_status_list, decltype([](git_status_list *aList) { git_status_list_free(aList) GitStatusListPtr
A unique pointer for git_status_list objects with automatic cleanup.
std::unique_ptr< git_strarray, decltype([](git_strarray *aArray) { git_strarray_free(aArray) GitStrArrayPtr
A unique pointer for git_strarray objects with automatic cleanup.
std::unique_ptr< git_commit, decltype([](git_commit *aCommit) { git_commit_free(aCommit) GitCommitPtr
A unique pointer for git_commit objects with automatic cleanup.
std::unique_ptr< git_annotated_commit, decltype([](git_annotated_commit *aCommit) { git_annotated_commit_free(aCommit) GitAnnotatedCommitPtr
A unique pointer for git_annotated_commit objects with automatic cleanup.
std::unique_ptr< git_buf, decltype([](git_buf *aBuf) { git_buf_free(aBuf) GitBufPtr
A unique pointer for git_buf objects with automatic cleanup.
std::unique_ptr< git_branch_iterator, decltype([](git_branch_iterator *aIter) { git_branch_iterator_free(aIter) GitBranchIteratorPtr
A unique pointer for git_branch_iterator objects with automatic cleanup.
std::unique_ptr< git_tree, decltype([](git_tree *aTree) { git_tree_free(aTree) GitTreePtr
A unique pointer for git_tree objects with automatic cleanup.
std::unique_ptr< git_config_entry, decltype([](git_config_entry *aEntry) { git_config_entry_free(aEntry) GitConfigEntryPtr
A unique pointer for git_config_entry objects with automatic cleanup.
std::unique_ptr< git_filter_list, decltype([](git_filter_list *aFilters) { git_filter_list_free(aFilters) GitFilterListPtr
A unique pointer for git_filter_list objects with automatic cleanup.
std::unique_ptr< git_indexer, decltype([](git_indexer *aIdx) { git_indexer_free(aIdx) GitIndexerPtr
A unique pointer for git_indexer objects with automatic cleanup.
std::unique_ptr< git_index, decltype([](git_index *aIndex) { git_index_free(aIndex) GitIndexPtr
A unique pointer for git_index objects with automatic cleanup.
std::unique_ptr< git_blob, decltype([](git_blob *aBlob) { git_blob_free(aBlob) GitBlobPtr
A unique pointer for git_blob objects with automatic cleanup.
std::unique_ptr< git_index_iterator, decltype([](git_index_iterator *aIterator) { git_index_iterator_free(aIterator) GitIndexIteratorPtr
A unique pointer for git_index_iterator objects with automatic cleanup.
std::unique_ptr< git_signature, decltype([](git_signature *aSignature) { git_signature_free(aSignature) GitSignaturePtr
A unique pointer for git_signature objects with automatic cleanup.
std::unique_ptr< git_rebase, decltype([](git_rebase *aRebase) { git_rebase_free(aRebase) GitRebasePtr
A unique pointer for git_rebase objects with automatic cleanup.
std::unique_ptr< git_repository, decltype([](git_repository *aRepo) { git_repository_free(aRepo) GitRepositoryPtr
A unique pointer for git_repository objects with automatic cleanup.
std::unique_ptr< git_config, decltype([](git_config *aConfig) { git_config_free(aConfig) GitConfigPtr
A unique pointer for git_config objects with automatic cleanup.
std::unique_ptr< git_reference, decltype([](git_reference *aRef) { git_reference_free(aRef) GitReferencePtr
A unique pointer for git_reference objects with automatic cleanup.
std::unique_ptr< git_blame, decltype([](git_blame *aBlame) { git_blame_free(aBlame) GitBlamePtr
A unique pointer for git_blame objects with automatic cleanup.
std::unique_ptr< git_config_iterator, decltype([](git_config_iterator *aIter) { git_config_iterator_free(aIter) GitConfigIteratorPtr
A unique pointer for git_config_iterator objects with automatic cleanup.
std::unique_ptr< git_index_conflict_iterator, decltype([](git_index_conflict_iterator *aIterator) { git_index_conflict_iterator_free(aIterator) GitIndexConflictIteratorPtr
A unique pointer for git_index_conflict_iterator objects with automatic cleanup.
std::unique_ptr< git_diff, decltype([](git_diff *aDiff) { git_diff_free(aDiff) GitDiffPtr
A unique pointer for git_diff objects with automatic cleanup.
std::unique_ptr< git_credential, decltype([](git_credential *aCred) { git_credential_free(aCred) GitCredentialPtr
A unique pointer for git_credential objects with automatic cleanup.
std::unique_ptr< git_oid, decltype([](git_oid *aOid) { delete aOid GitOidPtr
A unique pointer for git_oid objects with automatic cleanup.
std::unique_ptr< git_oidarray, decltype([](git_oidarray *aArray) { git_oidarray_free(aArray) GitOidArrayPtr
A unique pointer for git_oidarray objects with automatic cleanup.
std::unique_ptr< git_revwalk, decltype([](git_revwalk *aWalker) { git_revwalk_free(aWalker) GitRevWalkPtr
A unique pointer for git_revwalk objects with automatic cleanup.
std::unique_ptr< git_remote, decltype([](git_remote *aRemote) { git_remote_free(aRemote) GitRemotePtr
A unique pointer for git_remote objects with automatic cleanup.
std::unique_ptr< git_describe_result, decltype([](git_describe_result *aResult) { git_describe_result_free(aResult) GitDescribeResultPtr
A unique pointer for git_describe_result objects with automatic cleanup.