Stuff
#include <iostream>
using namespace std;
template<int i, int j, int k>
struct Y {
Y() { cout << i << endl; } };
template<int i>
struct Y<i,0,1> { Y() {
cout << "buzz" << endl; } };
template<int i>
struct Y<i,1,0> {
Y() { cout << "fizz" << endl; } };
template<int i>
struct Y<i,1,1> {
Y() { cout << "fizzbuzz" << endl; } };
template<int i>
struct X : public X<i-1>{
struct Y<i, i%3==0,i%5==0> y;
};
template<>
struct X<0> {
};
int main(void) {
X<100> x;
}