5 # We want to overwrite everything in parent ft.
 
   8 ###########################################################################
 
  10 ###########################################################################
 
  11 snippet beginend "$1.begin(), $1.end() (beginend)"
 
  12 ${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}begin(), $1${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}end()
 
  15 snippet cl "class .. (class)"
 
  16 class ${1:`!p snip.rv = snip.basename or "name"`}
 
  19         ${1/(\w+).*/$1/}(${2:arguments});
 
  20         virtual ~${1/(\w+).*/$1/}();
 
  24 }; // class${1/.+/ $0/m}
 
  27 snippet ns "namespace .. (namespace)"
 
  28 namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`}
 
  31 } // namespace${1/.+/ $0/m}
 
  34 snippet readfile "read file (readF)"
 
  36 if (FILE *fp = fopen(${1:"filename"}, "r"))
 
  39         while(size_t len = fread(buf, 1, sizeof(buf), fp))
 
  40                 v.insert(v.end(), buf, buf + len);
 
  45 snippet map "std::map (map)"
 
  46 std::map<${1:key}, ${2:value}> map$0;
 
  49 snippet vector "std::vector (v)"
 
  50 std::vector<${1:char}> v$0;
 
  53 snippet tp "template <typename ..> (template)"
 
  54 template <typename ${1:_InputIter}>