aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/snippets/cpp.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snippets/snippets/cpp.snippets')
-rw-r--r--vim/bundle/vim-snippets/snippets/cpp.snippets154
1 files changed, 154 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/snippets/cpp.snippets b/vim/bundle/vim-snippets/snippets/cpp.snippets
new file mode 100644
index 0000000..d06b3c9
--- /dev/null
+++ b/vim/bundle/vim-snippets/snippets/cpp.snippets
@@ -0,0 +1,154 @@
+extends c
+
+##
+## Preprocessor
+# #include <...>
+snippet inc
+ #include <${1:iostream}>
+snippet binc
+ #include <boost/${1:shared_ptr}.hpp>
+##
+## STL Collections
+# std::array
+snippet array
+ std::array<${1:T}, ${2:N}> ${3};
+# std::vector
+snippet vector
+ std::vector<${1:T}> ${2};
+# std::deque
+snippet deque
+ std::deque<${1:T}> ${2};
+# std::forward_list
+snippet flist
+ std::forward_list<${1:T}> ${2};
+# std::list
+snippet list
+ std::list<${1:T}> ${2};
+# std::set
+snippet set
+ std::set<${1:T}> ${2};
+# std::map
+snippet map
+ std::map<${1:Key}, ${2:T}> ${3};
+# std::multiset
+snippet mset
+ std::multiset<${1:T}> ${2};
+# std::multimap
+snippet mmap
+ std::multimap<${1:Key}, ${2:T}> ${3};
+# std::unordered_set
+snippet uset
+ std::unordered_set<${1:T}> ${2};
+# std::unordered_map
+snippet umap
+ std::unordered_map<${1:Key}, ${2:T}> ${3};
+# std::unordered_multiset
+snippet umset
+ std::unordered_multiset<${1:T}> ${2};
+# std::unordered_multimap
+snippet ummap
+ std::unordered_multimap<${1:Key}, ${2:T}> ${3};
+# std::stack
+snippet stack
+ std::stack<${1:T}> ${2};
+# std::queue
+snippet queue
+ std::queue<${1:T}> ${2};
+# std::priority_queue
+snippet pqueue
+ std::priority_queue<${1:T}> ${2};
+##
+## Access Modifiers
+# private
+snippet pri
+ private
+# protected
+snippet pro
+ protected
+# public
+snippet pub
+ public
+# friend
+snippet fr
+ friend
+# mutable
+snippet mu
+ mutable
+##
+## Class
+# class
+snippet cl
+ class ${1:`vim_snippets#Filename('$1', 'name')`}
+ {
+ public:
+ $1(${2});
+ ~$1();
+
+ private:
+ ${0:/* data */}
+ };
+# member function implementation
+snippet mfun
+ ${4:void} ${1:`vim_snippets#Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {
+ ${0}
+ }
+# namespace
+snippet ns
+ namespace ${1:`vim_snippets#Filename('', 'my')`} {
+ ${0}
+ } /* namespace $1 */
+##
+## Input/Output
+# std::cout
+snippet cout
+ std::cout << ${1} << std::endl;
+# std::cin
+snippet cin
+ std::cin >> ${1};
+##
+## Casts
+# static
+snippet sca
+ static_cast<${1:unsigned}>(${2:expr})${3}
+# dynamic
+snippet dca
+ dynamic_cast<${1:unsigned}>(${2:expr})${3}
+# reinterpret
+snippet rca
+ reinterpret_cast<${1:unsigned}>(${2:expr})${3}
+# const
+snippet cca
+ const_cast<${1:unsigned}>(${2:expr})${3}
+## Iteration
+# for i
+snippet fori
+ for (int ${2:i} = 0; $2 < ${1:count}; $2${3:++}) {
+ ${4}
+ }
+
+# foreach
+snippet fore
+ for (${1:auto} ${2:i} : ${3:container}) {
+ ${4}
+ }
+# iterator
+snippet iter
+ for (${1:std::vector}<${2:type}>::${3:const_iterator} ${4:i} = ${5:container}.begin(); $4 != $5.end(); ++$4) {
+ ${6}
+ }
+
+# auto iterator
+snippet itera
+ for (auto ${1:i} = ${2:container}.begin(); $1 != $2.end(); ++$1) {
+ ${3:std::cout << *$1 << std::endl;}
+ }
+##
+## Lambdas
+# lamda (one line)
+snippet ld
+ [${1}](${2}){${3}};
+# lambda (multi-line)
+snippet lld
+ [${1}](${2}){
+ ${3}
+ };