1 # replace snippets of parent ft
4 # disable horrible one word snippets
5 clearsnippets pri pro pub fr mu t pr
9 snippet inc "#include <>" b
10 #include <${1:iostream}>
13 snippet Inc "#include \'\'" b
14 #include "${1:`!p snip.rv = snip.basename+".hpp"`}"
17 snippet cl "class .. (class)" b
18 class ${1:`!p snip.rv = snip.basename or "name"`}
21 ${1/(\w+).*/$1/}(${2}) = default;
22 virtual ~${1/(\w+).*/$1/}() = default;
26 }; // class${1/.+/ $0/m}
29 snippet rule5 "Default constructors/destructors/operaters" b
30 ${1:classname}() = default;
32 $1($1 const &) = default;
34 $1 &operator=($1 const &) = default;
35 $1 &operator=($1 &&) = default;
38 snippet ns "namespace .. (namespace)"
39 namespace${1/.+/ /m}${1} {
41 } // namespace${1/.+/ $0/m}
44 snippet mfun "Member Function" b
45 ${4:void} ${1:`!p snip.rv = snip.basename or "name"`}::${2:memberFunction}(${3})
52 snippet fori "for loop (for)" b
53 for (${4:size_t} ${2:i} = 0; $2 < ${1:count}; ${3:++$2})
59 snippet fore "range-based for loop"
60 for (auto ${1:n} : ${2:v})
66 snippet cplat "Cross platform pre processor split" b
67 #if defined(__GNUC__) && defined(__unix__)
69 #elif defined(__APPLE__)
76 snippet pprint "Pretty print expression" b
77 #define PPRINT(x) std::cout << #x " = " << (x) << '\n';
85 def align(base, a, pad=' '):
86 amount = abs(len(base) - len(a))
87 return amount * pad if len(base) < len(a) else ''
90 snippet connect "Qt connect()" b
91 connect(${1:this}, `!p snip.rv = align(t[1],t[3])`&${2:class::function},
92 ${3:this}, `!p snip.rv = align(t[3],t[1])`&${4:class::function});
96 snippet connectl "Qt connect() lambda" b
97 connect(${1:this}, &${2:class::function},
98 [=](${3:void}) { ${4} });
102 snippet w "Define a new QWidget" b
103 auto ${1:widget} = new ${2:QWidget};
104 $1->setObjectName("${3:$1}");
108 snippet widget "Qt Widget Class" b
109 class ${1:`!p snip.rv = snip.basename or "WidgetClass"`} : public QWidget
114 explicit $1(${2}QWidget *parent = nullptr);
115 virtual ~$1() = default;
124 }; // class${1/.+/ $0/m}
127 # http://stackoverflow.com/a/9864472
128 snippet alias "Function alias" b
129 template <typename... Args>
130 auto ${1:alias}(Args&&... args)
131 -> decltype($2(std::forward<Args>(args)...))
133 return ${2:function}(std::forward<Args>(args)...);
137 # https://stackoverflow.com/a/14803335
139 template<typename Ret, typename T, typename... Args>
140 std::function<Ret(Args...)> ${1:object_bind}(Ret (T::* fun)(Args...), T &t)
142 return [=](Args... args) { return (t.*fun)(args...); };
146 snippet once "#pragma once" b
152 snippet ostream "operator<<(ostream)" b
153 inline std::ostream & operator<<(std::ostream &os, ${1:Type} const & rhs)
160 snippet pragma-ignore "ignore diagnostics"
161 #pragma GCC diagnostic push
162 #pragma GCC diagnostic ignored "-W${1}"
164 #pragma GCC diagnostic pop
167 snippet FPP "FPP Copyright" b
168 // Copyright © Focal Point Positioning Limited `!v strftime("%Y")`. All Rights Reserved.
169 // This code is the copyright of Focal Point Positioning Limited and
170 // cannot be used, copied or distributed without the express written
171 // permission of Focal Point Positioning Limited.