forked from Bananymous/banan-os
BAN: Function call is now const
This commit is contained in:
parent
b10168eb1c
commit
e7458ca10a
|
@ -43,10 +43,10 @@ namespace BAN
|
||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
Ret operator()(Args... args)
|
Ret operator()(Args... args) const
|
||||||
{
|
{
|
||||||
ASSERT(*this);
|
ASSERT(*this);
|
||||||
return reinterpret_cast<CallableBase*>(m_storage)->call(forward<Args>(args)...);
|
return reinterpret_cast<const CallableBase*>(m_storage)->call(forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
operator bool() const
|
operator bool() const
|
||||||
|
@ -70,7 +70,7 @@ namespace BAN
|
||||||
struct CallableBase
|
struct CallableBase
|
||||||
{
|
{
|
||||||
virtual ~CallableBase() {}
|
virtual ~CallableBase() {}
|
||||||
virtual Ret call(Args...) = 0;
|
virtual Ret call(Args...) const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CallablePointer : public CallableBase
|
struct CallablePointer : public CallableBase
|
||||||
|
@ -79,7 +79,7 @@ namespace BAN
|
||||||
: m_function(function)
|
: m_function(function)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
virtual Ret call(Args... args) override
|
virtual Ret call(Args... args) const override
|
||||||
{
|
{
|
||||||
return m_function(forward<Args>(args)...);
|
return m_function(forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ namespace BAN
|
||||||
, m_function(function)
|
, m_function(function)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
virtual Ret call(Args... args) override
|
virtual Ret call(Args... args) const override
|
||||||
{
|
{
|
||||||
return (m_owner->*m_function)(forward<Args>(args)...);
|
return (m_owner->*m_function)(forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ namespace BAN
|
||||||
, m_function(function)
|
, m_function(function)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
virtual Ret call(Args... args) override
|
virtual Ret call(Args... args) const override
|
||||||
{
|
{
|
||||||
return (m_owner->*m_function)(forward<Args>(args)...);
|
return (m_owner->*m_function)(forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
@ -131,7 +131,7 @@ namespace BAN
|
||||||
: m_lambda(lambda)
|
: m_lambda(lambda)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
virtual Ret call(Args... args) override
|
virtual Ret call(Args... args) const override
|
||||||
{
|
{
|
||||||
return m_lambda(forward<Args>(args)...);
|
return m_lambda(forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue