extends c

priority 1

# TODO: include
# 1. Default should be '#include <filename.h>'.
# 2. Relative paths should only allow inserting a single '"'.

snippet enum "Enumeration"
enum ${1:name} {
	$0
};
endsnippet

snippet for "For loop, index or range"
for (${1:auto} ${2:index} ${3/(.*;.*)|(\w*)/(?1:=:\:)/} ${3:0; $2 < ${4:count}; $2${5:++}}) {
	$0
}
endsnippet

snippet struct "Structure"
struct ${1:name} {
	$0
};
endsnippet

snippet class "Class"
class ${1:name} {
 public:
	${1/(\w+)\s.*/$1/}();

	~${1/(\w+)\s.*/$1/}();

 private:
	$0
};
endsnippet

snippet template "Template"
template <typename ${1:type}>$0
endsnippet

snippet namespace "Named or anonymous namespace"
namespace ${1:}${1/\w+/ /}{
$0
}${1/\w+/  \/\/ $0/}
endsnippet