Currying template with parameter from another template
6
1
I have class Foo , which has two template parameters, A and B : template<typename A, typename B> struct Foo {}; Also I have class Base , which has one template template parameter: template<template<typename B> typename Foo> struct Base {}; I want to write class Derived assuming the following: Derived has one template parameter ( A ) Derived extends class Base Derived passes as template parameter to class Base class Foo , but with one parameter "currying" ( A ) How can I do this? Here is my (not working) solution: template<template<typename B> typename Foo> struct Base {}; template<typename A, typename B> struct Foo {}; template<template<typename A, typename B> typename Foo, typename A> struct BindFirst { temp