2012-08-28 00:24:47 -04:00
|
|
|
## STL Collections
|
|
|
|
# std::array
|
|
|
|
snippet array
|
2012-08-28 13:56:17 -04:00
|
|
|
std::array<${1:T}, ${2:N}> ${3};${4}
|
2011-06-20 13:40:28 -04:00
|
|
|
# std::vector
|
|
|
|
snippet vector
|
2012-08-28 00:24:47 -04:00
|
|
|
std::vector<${1:T}> ${2};${3}
|
|
|
|
# std::deque
|
|
|
|
snippet deque
|
|
|
|
std::deque<${1:T}> ${2};${3}
|
|
|
|
# std::forward_list
|
|
|
|
snippet flist
|
|
|
|
std::forward_list<${1:T}> ${2};${3}
|
|
|
|
# std::list
|
|
|
|
snippet list
|
|
|
|
std::list<${1:T}> ${2};${3}
|
|
|
|
# std::set
|
|
|
|
snippet set
|
2012-08-28 13:56:17 -04:00
|
|
|
std::set<${1:T}> ${2};${3}
|
2012-08-27 17:10:27 -04:00
|
|
|
# std::map
|
|
|
|
snippet map
|
2012-08-28 00:24:47 -04:00
|
|
|
std::map<${1:Key}, ${2:T}> ${3};${4}
|
|
|
|
# std::multiset
|
|
|
|
snippet mset
|
|
|
|
std::multiset<${1:T}> ${2};${3}
|
|
|
|
# std::multimap
|
|
|
|
snippet mmap
|
|
|
|
std::multimap<${1:Key}, ${2:T}> ${3};${4}
|
|
|
|
# std::unordered_set
|
|
|
|
snippet uset
|
|
|
|
std::unordered_set<${1:T}> ${2};${3}
|
|
|
|
# std::unordered_map
|
|
|
|
snippet umap
|
|
|
|
std::unordered_map<${1:Key}, ${2:T}> ${3};${4}
|
|
|
|
# std::unordered_multiset
|
|
|
|
snippet umset
|
2012-08-28 13:56:17 -04:00
|
|
|
std::unordered_multiset<${1:T}> ${2};${3}
|
2012-08-28 00:24:47 -04:00
|
|
|
# std::unordered_multimap
|
|
|
|
snippet ummap
|
|
|
|
std::unordered_multimap<${1:Key}, ${2:T}> ${3};${4}
|
|
|
|
# std::stack
|
|
|
|
snippet stack
|
|
|
|
std::stack<${1:T}> ${2};${3}
|
|
|
|
# std::queue
|
|
|
|
snippet queue
|
|
|
|
std::queue<${1:T}> ${2};${3}
|
|
|
|
# std::priority_queue
|
|
|
|
snippet pqueue
|
|
|
|
std::priority_queue<${1:T}> ${2};${3}
|
2012-08-28 12:33:50 -04:00
|
|
|
##
|
|
|
|
## Access Modifiers
|
|
|
|
# private
|
2012-08-28 13:56:17 -04:00
|
|
|
snippet pri
|
2012-08-28 12:33:50 -04:00
|
|
|
private
|
|
|
|
# protected
|
2012-08-28 13:56:17 -04:00
|
|
|
snippet pro
|
2012-08-28 12:33:50 -04:00
|
|
|
protected
|
|
|
|
# public
|
2012-08-28 13:56:17 -04:00
|
|
|
snippet pub
|
2012-08-28 12:33:50 -04:00
|
|
|
public
|
|
|
|
# friend
|
|
|
|
snippet fr
|
|
|
|
friend
|
|
|
|
# mutable
|
|
|
|
snippet mu
|
|
|
|
mutable
|
2012-08-28 12:41:16 -04:00
|
|
|
##
|
|
|
|
## Class
|
2012-08-27 17:10:27 -04:00
|
|
|
# class
|
2012-08-28 12:41:16 -04:00
|
|
|
snippet cl
|
2011-06-20 13:40:28 -04:00
|
|
|
class ${1:`Filename('$1', 'name')`}
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
$1(${2});
|
|
|
|
~$1();
|
|
|
|
|
|
|
|
private:
|
|
|
|
${3:/* data */}
|
|
|
|
};
|
2012-08-28 12:41:16 -04:00
|
|
|
# member function implementation
|
2012-08-27 17:10:27 -04:00
|
|
|
snippet mfun
|
|
|
|
${4:void} ${1:`Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {
|
2012-08-28 14:22:24 -04:00
|
|
|
${5:/* code */}
|
2012-08-27 17:10:27 -04:00
|
|
|
}
|
|
|
|
# namespace
|
|
|
|
snippet ns
|
|
|
|
namespace ${1:`Filename('', 'my')`} {
|
|
|
|
${2}
|
|
|
|
} /* namespace $1 */
|
2012-08-28 12:43:20 -04:00
|
|
|
##
|
|
|
|
## Input/Output
|
2012-08-28 12:41:16 -04:00
|
|
|
# std::cout
|
|
|
|
snippet cout
|
2012-08-28 14:22:24 -04:00
|
|
|
std::cout << ${1} << std::endl;${2}
|
2012-08-28 12:41:16 -04:00
|
|
|
# std::cin
|
|
|
|
snippet cin
|
2012-08-28 14:22:24 -04:00
|
|
|
std::cin >> ${1};${2}
|
2012-08-28 12:43:20 -04:00
|
|
|
# read file into vector
|
|
|
|
snippet readfile
|
|
|
|
std::vector<char> v;
|
|
|
|
if (FILE *${2:fp} = fopen(${1:"filename"}, "r")) {
|
|
|
|
char buf[1024];
|
|
|
|
while (size_t len = fread(buf, 1, sizeof(buf), $2))
|
|
|
|
v.insert(v.end(), buf, buf + len);
|
|
|
|
fclose($2);
|
|
|
|
}${3}
|
|
|
|
|
2012-08-28 12:44:24 -04:00
|
|
|
##
|
|
|
|
## Iteration
|
|
|
|
# for i
|
2011-06-20 13:40:28 -04:00
|
|
|
snippet fori
|
|
|
|
for (int ${2:i} = 0; $2 < ${1:count}; $2${3:++}) {
|
|
|
|
${4:/* code */}
|
2012-08-28 14:22:24 -04:00
|
|
|
}${5}
|
2011-06-20 13:40:28 -04:00
|
|
|
|
2012-08-27 17:10:27 -04:00
|
|
|
# foreach
|
|
|
|
snippet fore
|
|
|
|
for (${1:auto} ${2:i} : ${3:container}) {
|
|
|
|
${4:/* code */}
|
2012-08-28 14:22:24 -04:00
|
|
|
}${5}
|
2011-06-20 13:40:28 -04:00
|
|
|
# iterator
|
|
|
|
snippet iter
|
|
|
|
for (${1:std::vector}<${2:type}>::${3:const_iterator} ${4:i} = ${5:container}.begin(); $4 != $5.end(); ++$4) {
|
|
|
|
${6}
|
2012-08-28 14:22:24 -04:00
|
|
|
}${7}
|
2011-06-20 13:40:28 -04:00
|
|
|
|
2012-08-27 17:10:27 -04:00
|
|
|
# auto iterator
|
|
|
|
snippet itera
|
|
|
|
for (auto ${1:i} = $1.begin(); $1 != $1.end(); ++$1) {
|
|
|
|
${2:std::cout << *$1 << std::endl;}
|
2012-08-28 14:22:24 -04:00
|
|
|
}${3}
|
2012-08-31 17:53:39 -04:00
|
|
|
##
|
|
|
|
## Lambdas
|
|
|
|
# lamda (one line)
|
|
|
|
snippet ld
|
|
|
|
[${1}](${2}){${3:/* code */}}${4}
|
|
|
|
# lambda (multi-line)
|
|
|
|
snippet lld
|
|
|
|
[${1}](${2}){
|
|
|
|
${3:/* code */}
|
|
|
|
}${4}
|