summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2023-12-01 12:38:43 +0900
committerMichele Calgaro <[email protected]>2023-12-01 12:38:43 +0900
commitb67b7f2b784c7105e88a5e639d9d84736ae2cbc1 (patch)
tree0fd16d439c681c07d57d7f0d544c7582e04c3a31 /debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp
parentc0a6f1b84c84749908961579b84513fd9f9d9eac (diff)
downloadextra-dependencies-b67b7f2b784c7105e88a5e639d9d84736ae2cbc1.tar.gz
extra-dependencies-b67b7f2b784c7105e88a5e639d9d84736ae2cbc1.zip
uncrustify-trinity: updated based on upstream version 0.78.1
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp186
1 files changed, 186 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp
new file mode 100644
index 00000000..737599bf
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/cpp/templates.cpp
@@ -0,0 +1,186 @@
+#include <list>
+#include <map>
+#include <vector>
+
+#define MACRO(T) f<T>()
+
+class MyClass
+{
+public:
+ std::map < int, bool > someData;
+ std::map < int, std::list < bool > > otherData;
+};
+
+void foo()
+{
+ List < byte >bob = new List<byte> ();
+
+}
+
+A<B> foo;
+A<B,C> bar;
+A<B*> baz;
+A<B<C> > bay;
+
+void asd(void)
+{
+A<B> foo;
+A<B,C> bar;
+A<B*> baz;
+A<B<C> > bay;
+ if (a < b && b > c)
+ {
+ a = b < c > 0;
+ }
+ if (a < bar() > c)
+ {
+ }
+ a < up_lim() ? do_hi() : do_low;
+ a[ a<b>c] = d;
+}
+
+template<typename T> class MyClass
+{
+
+}
+
+ template<typename T>
+ class MyClass
+ {
+ }
+
+ template<typename A, typename B, typename C> class MyClass : myvar(0),
+ myvar2(0)
+ {
+
+ }
+
+ template<typename A, typename B, typename C> class MyClass
+ : myvar(0),
+ myvar2(0)
+ {
+
+ }
+
+
+static int max_value()
+ {
+ return (std :: numeric_limits <int >:: max ) ();
+ }
+
+template < class Config_ >
+priority_queue < Config_ > :: ~ priority_queue () {
+
+ }
+
+template<class T>
+T test(T a) {
+return a;
+}
+
+int main() {
+int k;
+int j;
+h g<int>;
+k=test<int> (j);
+return 0;
+}
+
+template<typename T, template<typename, unsigned int, unsigned int> class ConcreteStorageClass>
+class RotationMatrix
+ : public StaticBaseMatrix<T, 3, 3, ConcreteStorageClass>
+{
+
+public:
+
+ RotationMatrix()
+ : StaticBaseMatrix<T, 3, 3, ConcreteStorageClass>()
+ {
+ // do some initialization
+ }
+
+ void assign(const OtherClass<T, 3, 3 >& other)
+ {
+ // do something
+ }
+
+};
+
+int main()
+{
+ MyClass<double, 3, 3, MyStorage> foo;
+}
+
+template< typename CharT, int N, typename Traits >
+inline std::basic_ostream<CharT,Traits>& FWStreamOut(std::basic_ostream<CharT,Traits> &os,
+ const W::S<CharT,N,Traits> &s)
+ {
+ return operator<< <CharT, N, Traits, char, std::char_traits<char> > ( os, s );
+ }
+
+struct foo {
+type1 < int & > bar;
+};
+struct foo {
+type1 < int const > bar;
+};
+
+
+template <int i> void f();
+template <int i> void g() {
+f<i-1>();
+f< i >();
+f<i+1>();
+f<bar()>();
+}
+void h() { g<42>(); }
+
+#include <vector>
+std::vector<int> A(2);
+std::vector<int> B;
+std::vector<int>C(2);
+std::vector<int>D;
+
+template<class T>struct X{template<class U>void operator()(U);};
+
+template<class T>class Y{template<class V>void f(V);};
+
+void (* foobar)(void) = NULL;
+std::vector<void (*)(void)> functions;
+
+#define MACRO( a ) a
+template < typename = int > class X ;
+MACRO ( void f ( X < > & x ) ) ;
+void g ( X < > & x ) ;
+
+#include <vector>
+typedef std::vector<std::vector<int> > Table; // OK
+typedef std::vector<std::vector<bool>> Flags; // Error
+
+void func(List<B>= default_val1);
+void func(List<List<B>>= default_val2);
+
+BLAH<(3.14 >= 42)> blah;
+bool X = j<3>>1;
+
+void foo()
+{
+ A<(X>Y)> a;
+ a = static_cast<List<B>>(ld);
+}
+
+template<int i> class X { /* ... */ };
+X< 1>2 > x1; // Syntax error.
+X<(1>2)> x2; // Okay.
+
+template<class T> class Y { /* ... */ };
+Y<X<1>> x3; // Okay, same as "Y<X<1> > x3;".
+Y<X<(6>>1)>> x4;
+
+
+template <typename T>
+int
+myFunc1(typename T::Subtype val);
+
+int
+myFunc2(T::Subtype val);