forked from boostorg/bind
Added const operator() overloads
[SVN r22934]
This commit is contained in:
@@ -18,10 +18,6 @@ namespace boost
|
|||||||
namespace _bi
|
namespace _bi
|
||||||
{
|
{
|
||||||
|
|
||||||
template<class F> void instantiate(F)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class R, class F> class af0
|
template<class R, class F> class af0
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -37,6 +33,11 @@ public:
|
|||||||
return f_();
|
return f_();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result_type operator()() const
|
||||||
|
{
|
||||||
|
return f_();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
F f_;
|
F f_;
|
||||||
@@ -59,6 +60,11 @@ public:
|
|||||||
return f_(a1);
|
return f_(a1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result_type operator()(A1 a1) const
|
||||||
|
{
|
||||||
|
return f_(a1);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
F f_;
|
F f_;
|
||||||
@@ -83,6 +89,11 @@ public:
|
|||||||
return f_(a1, a2);
|
return f_(a1, a2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result_type operator()(A1 a1, A2 a2) const
|
||||||
|
{
|
||||||
|
return f_(a1, a2);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
F f_;
|
F f_;
|
||||||
@@ -106,6 +117,11 @@ public:
|
|||||||
return f_(a1, a2, a3);
|
return f_(a1, a2, a3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result_type operator()(A1 a1, A2 a2, A3 a3) const
|
||||||
|
{
|
||||||
|
return f_(a1, a2, a3);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
F f_;
|
F f_;
|
||||||
@@ -130,6 +146,11 @@ public:
|
|||||||
return f_(a1, a2, a3, a4);
|
return f_(a1, a2, a3, a4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4) const
|
||||||
|
{
|
||||||
|
return f_(a1, a2, a3, a4);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
F f_;
|
F f_;
|
||||||
@@ -139,31 +160,26 @@ private:
|
|||||||
|
|
||||||
template<class R, class F> _bi::af0<R, F> make_adaptable(F f)
|
template<class R, class F> _bi::af0<R, F> make_adaptable(F f)
|
||||||
{
|
{
|
||||||
_bi::instantiate( &_bi::af0<R, F>::operator() ); // for early error detection
|
|
||||||
return _bi::af0<R, F>(f);
|
return _bi::af0<R, F>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class R, class A1, class F> _bi::af1<R, A1, F> make_adaptable(F f)
|
template<class R, class A1, class F> _bi::af1<R, A1, F> make_adaptable(F f)
|
||||||
{
|
{
|
||||||
instantiate( &_bi::af1<R, A1, F>::operator() );
|
|
||||||
return _bi::af1<R, A1, F>(f);
|
return _bi::af1<R, A1, F>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class R, class A1, class A2, class F> _bi::af2<R, A1, A2, F> make_adaptable(F f)
|
template<class R, class A1, class A2, class F> _bi::af2<R, A1, A2, F> make_adaptable(F f)
|
||||||
{
|
{
|
||||||
instantiate( &_bi::af2<R, A1, A2, F>::operator() );
|
|
||||||
return _bi::af2<R, A1, A2, F>(f);
|
return _bi::af2<R, A1, A2, F>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class R, class A1, class A2, class A3, class F> _bi::af3<R, A1, A2, A3, F> make_adaptable(F f)
|
template<class R, class A1, class A2, class A3, class F> _bi::af3<R, A1, A2, A3, F> make_adaptable(F f)
|
||||||
{
|
{
|
||||||
instantiate( &_bi::af3<R, A1, A2, A3, F>::operator() );
|
|
||||||
return _bi::af3<R, A1, A2, A3, F>(f);
|
return _bi::af3<R, A1, A2, A3, F>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class R, class A1, class A2, class A3, class A4, class F> _bi::af4<R, A1, A2, A3, A4, F> make_adaptable(F f)
|
template<class R, class A1, class A2, class A3, class A4, class F> _bi::af4<R, A1, A2, A3, A4, F> make_adaptable(F f)
|
||||||
{
|
{
|
||||||
instantiate( &_bi::af4<R, A1, A2, A3, A4, F>::operator() );
|
|
||||||
return _bi::af4<R, A1, A2, A3, A4, F>(f);
|
return _bi::af4<R, A1, A2, A3, A4, F>(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user