tinympl  0.2
mini MPL library for C++11
tinympl::bind< F, Args > Class Template Reference

Produce a template type by binding the given arguments on the passed template template. More...

#include <tinympl/bind.hpp>

Detailed Description

template<template< class...T > class F, class... Args>
class tinympl::bind< F, Args >

Produce a template type by binding the given arguments on the passed template template.

tinympl::bind is the compile time equivalent of std::bind. It produces a new template type bind<...>::template eval which invokes the given one (F) with some of its arguments bound to Args. Notice that in C++11 the effect of bind can be achieved with template aliases. In order to produce a cleaner code, we recommend to use template aliases wherever is possible, and use bind only when necessary.

bind< std::is_same, arg1, U>::template eval is equivalent to template<class T> using is_same1 = std::is_same<T,U>;

bind also automatically recognize bind expressions in its subarguments, so it is possible to nest multiple bind calls:

bind< std::is_same, bind<std::remove_reference,arg1>, U>::template eval is equivalent to template<class T> using is_same1 = std::is_same< typename std::remove_reference<T>::type, U>;


The documentation for this class was generated from the following file: