blob: 137205d06e1f6aebd115fb42d1df319b2caf1b7f [file] [log] [blame]
#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,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);