// DESCRIPTION
//
//   Test to check whether the compiler supports templates as template arguments.
//   In sync with AC_CXX_TEMPLATES_AS_TEMPLATE_ARGUMENTS (2008-04-12).
//
// COPYLEFT
//
//   Copyright (c) 2008 Todd Veldhuizen
//   Copyright (c) 2009 Theo Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
//   Copyright (c) 2008 Luc Maisonobe <luc@spaceroots.org>
//
//   Copying and distribution of this file, with or without modification, are
//   permitted in any medium without royalty provided the copyright notice
//   and this notice are preserved.

template<class T> class allocator { public : allocator() {}; };

template<class X,template<class Y> class T_alloc>
class A {
public:
    A() {}
private:
    T_alloc<X> alloc_;
};

int main() {
    A<double,allocator> x;
    return 0;
}
