extends c ## Main # main() snippet mainn int main() { ${0} return 0; } ## ## Preprocessor # #include <...> snippet incc #include <${1:iostream}> snippet binc #include ## ## 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}; ## ## STL smart pointers # std::shared_ptr snippet msp std::shared_ptr<${1:T}> ${2} = std::make_shared<$1>(${3}); snippet amsp auto ${1} = std::make_shared<${2:T}>(${3}); # std::unique_ptr snippet mup std::unique_ptr<${1:T}> ${2} = std::make_unique<$1>(${3}); snippet amup auto ${1} = std::make_unique<${2:T}>(${3}); ## ## 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 * \brief ${3:Brief class description} * * ${4:Detailed description} */ class ${1:`vim_snippets#Filename('$1', 'name')`} { public: $1(${2}); virtual ~$1(); protected: m_${5}; /*!< ${6:Member description} */ }; # member function implementation snippet mfun ${4:void} ${1:`vim_snippets#Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) { ${0} } # member function implementation without parameters snippet dmfun0 /*! \brief ${4:Brief function description here} * * ${5:Detailed description} * * \return ${6:Return parameter description} */ ${3:void} ${1:`vim_snippets#Filename('$1', 'ClassName')`}::${2:memberFunction}() { ${0} } # member function implementation with one parameter snippet dmfun1 /*! \brief ${6:Brief function description here} * * ${7:Detailed description} * * \param $4 ${8:Parameter description} * \return ${9:Return parameter description} */ ${5:void} ${1:`vim_snippets#Filename('$1', 'ClassName')`}::${2:memberFunction}(${3:Type} ${4:Parameter}) { ${0} } # member function implementation with two parameter snippet dmfun2 /*! \brief ${8:Brief function description here} * * ${9:Detailed description} * * \param $4 ${10:Parameter description} * \param $6 ${11:Parameter description} * \return ${12:Return parameter description} */ ${7:void} ${1:`vim_snippets#Filename('$1', 'ClassName')`}::${2:memberFunction}(${3:Type} ${4:Parameter},${5:Type} ${6:Parameter}) { ${0} } # namespace snippet ns namespace ${1:`vim_snippets#Filename('', 'my')`} { ${0} } /* namespace $1 */ snippet ans namespace { ${0} } ## ## 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} }; # snippets exception snippet try try { } catch(${1}) { } # auto function snippet af auto function auto ${1:name}(${2}) -> ${3:void} { ${0} }; # Range-v3 transform snippet transform "ranges::views::transform" ${1:${2:std::}${3:ranges::}views::}transform($4) # Range-v3 transform snippet filter "ranges::views::filter" ${1:${2:std::}${3:ranges::}views::}filter($4) # Range-v3 ranges:: snippet r "ranges::" ranges:: # Range-v3 ranges::views:: snippet rv "ranges::views::" ranges::views:: # Range-v3 ranges::actions:: snippet ra "ranges::actions::" ranges::actions:: # STL std::ranges:: snippet sr "std::ranges::" std::ranges:: # STL std::views:: snippet sv "std::views::" std::views::