]> git.rmz.io Git - dotfiles.git/blobdiff - vim/ultisnips/cpp.snippets
vim: setup UltiSnips
[dotfiles.git] / vim / ultisnips / cpp.snippets
diff --git a/vim/ultisnips/cpp.snippets b/vim/ultisnips/cpp.snippets
new file mode 100644 (file)
index 0000000..769f986
--- /dev/null
@@ -0,0 +1,57 @@
+priority -50
+
+extends c
+
+# We want to overwrite everything in parent ft.
+priority -49
+
+###########################################################################
+#                            TextMate Snippets                            #
+###########################################################################
+snippet beginend "$1.begin(), $1.end() (beginend)"
+${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}begin(), $1${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}end()
+endsnippet
+
+snippet cl "class .. (class)"
+class ${1:`!p snip.rv = snip.basename or "name"`}
+{
+public:
+       ${1/(\w+).*/$1/}(${2:arguments});
+       virtual ~${1/(\w+).*/$1/}();
+
+private:
+       ${0:/* data */}
+}; // class${1/.+/ $0/m}
+endsnippet
+
+snippet ns "namespace .. (namespace)"
+namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`}
+{
+${VISUAL}${0}
+} // namespace${1/.+/ $0/m}
+endsnippet
+
+snippet readfile "read file (readF)"
+std::vector<char> v;
+if (FILE *fp = fopen(${1:"filename"}, "r"))
+{
+       char buf[1024];
+       while(size_t len = fread(buf, 1, sizeof(buf), fp))
+               v.insert(v.end(), buf, buf + len);
+       fclose(fp);
+}
+endsnippet
+
+snippet map "std::map (map)"
+std::map<${1:key}, ${2:value}> map$0;
+endsnippet
+
+snippet vector "std::vector (v)"
+std::vector<${1:char}> v$0;
+endsnippet
+
+snippet tp "template <typename ..> (template)"
+template <typename ${1:_InputIter}>
+endsnippet
+
+# vim:ft=snippets: