template <class A,class B>
class Test {
public:
   Test();
   ~Test();
   void Process();
   static int Count(); // This is a bad idea for templates.
};

// In this context, static means module scoped
// like an anonymous namespace so ccdoc doesn't
// do anything special with it.
// When static is applied to a method in a class,
// the situation is different because that implies
// class scoping rather than object scoping as
// in the above example for Count.
static int global_fct();

// Make sure that template functions are marked
// correctly.
template <class PTR>
int fct2(PTR ptr) {return static_cast<int>(ptr);}
