dotfiles/.vim/snippets/cpp.snippets

39 lines
1 KiB
Text

extends c
###########################################################################
# 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 */}
};
endsnippet
snippet ns "namespace .. (namespace)" !
namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`} {
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
} // namespace $1
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: