]> git.rmz.io Git - dotfiles.git/blob - vim/ultisnips/cpp.snippets
vim: add vim-diff-fold
[dotfiles.git] / vim / ultisnips / cpp.snippets
1 # replace snippets of parent ft
2 priority 1
3
4 snippet inc "#include <>" b
5 #include <${1:iostream}>
6 endsnippet
7
8 snippet Inc "#include \'\'" b
9 #include "${1:`!p snip.rv = snip.basename+".h"`}"
10 endsnippet
11
12 snippet cl "class .. (class)" b
13 class ${1:`!p snip.rv = snip.basename or "name"`}
14 {
15 public:
16 ${1/(\w+).*/$1/}(${2:arguments});
17 virtual ~${1/(\w+).*/$1/}();
18
19 private:
20 ${0:/* data */}
21 }; // class${1/.+/ $0/m}
22 endsnippet
23
24 snippet ns "namespace .. (namespace)"
25 namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`}
26 {
27 ${VISUAL}${0}
28 }${1/.+/ \/\/ namespace $0/m}
29 endsnippet
30
31 snippet mfun "Member Function" b
32 ${4:void} ${1:`!p snip.rv = snip.basename or "name"`}::${2:memberFunction}(${3})
33 {
34 ${0}
35 }
36 endsnippet
37
38 snippet for "for loop (for)"
39 for (${4:int} ${2:i} = 0; $2 < ${1:count}; ${3:++$2})
40 {
41 ${VISUAL}${0}
42 }
43 endsnippet
44
45 snippet cplat "Cross platform pre processor split" b
46 #if defined(__GNUC__) && defined(__unix__)
47 ${1}
48 #elif defined(__APPLE__)
49 ${2}
50 #elif defined(WIN32)
51 ${3}
52 #endif
53 endsnippet
54
55 #
56 # Qt
57 #
58 snippet connect "Qt connect()" b
59 connect(${1:this}, SIGNAL(${2:signal()}),
60 ${3:this}, SLOT(${4:slot()}));
61 endsnippet
62
63 snippet connectl "Qt connect() lambda" b
64 connect(${1:this}, &${2:class::function},
65 [=](${3:void}) { ${4} });
66 ${0}
67 endsnippet
68
69 snippet w "Define a new QWidget" b
70 auto ${1:widget} = new ${2:QWidget};
71 $1->setObjectName("${3:$1}");
72 ${0}
73 endsnippet
74
75 snippet widget "Qt Widget Class" b
76 class ${1:`!p snip.rv = snip.basename or "WidgetClass"`} : public QWidget
77 {
78 Q_OBJECT
79
80 public:
81 explicit $1(${2}QWidget *parent = 0);
82 ~$1() = default;
83
84 $0
85 public slots:
86
87 signals:
88
89 private:
90
91 }; // class${1/.+/ $0/m}
92 endsnippet
93
94 # http://stackoverflow.com/a/9864472
95 snippet alias "Function alias" b
96 template <typename... Args>
97 auto ${1:alias}(Args&&... args)
98 -> decltype($2(std::forward<Args>(args)...))
99 {
100 return ${2:function}(std::forward<Args>(args)...);
101 }
102 endsnippet