template<class T>
struct X0 {
  T getValue(T arg);
};

template<int I>
struct X1;

template<long I>
struct X2;

template<typename>
struct X3;

template<template<int I> class>
struct X4;

template<template<int I> class>
struct X5;

template<template<int I> class>
struct X6;

typedef int Integer;
extern X0<Integer> *x0i;
extern X0<float> *x0f;
extern X0<double> *x0r;

template<>
struct X0<char> {
  int member;
};

template<>
struct X0<wchar_t> {
  float member;
};
