summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/utils/callback.tcc
diff options
context:
space:
mode:
authorschodet2005-03-13 20:26:23 +0000
committerschodet2005-03-13 20:26:23 +0000
commitfcfd616f76345787a8eb1318e482ab1076d50039 (patch)
treeadb7200c223de2cd3839bf9c922894f48f377dae /2005/i/robert/src/utils/callback.tcc
parenta5ccb9a2944290075e032a8a18102a046841e808 (diff)
Ajout de commentaires.
Ajout de l'ObjectBinder.
Diffstat (limited to '2005/i/robert/src/utils/callback.tcc')
-rw-r--r--2005/i/robert/src/utils/callback.tcc26
1 files changed, 18 insertions, 8 deletions
diff --git a/2005/i/robert/src/utils/callback.tcc b/2005/i/robert/src/utils/callback.tcc
index 36d97a7..d10df75 100644
--- a/2005/i/robert/src/utils/callback.tcc
+++ b/2005/i/robert/src/utils/callback.tcc
@@ -24,12 +24,14 @@
#include <algorithm>
+/// Default constructor. Make an empty callback.
template<typename R>
Callback<R>::Callback (void)
: holder_ (0)
{
}
+/// Constructor.
template<typename R>
template<typename T>
Callback<R>::Callback (T callback)
@@ -37,18 +39,30 @@ Callback<R>::Callback (T callback)
{
}
+/// Copy constructor.
template<typename R>
Callback<R>::Callback (const Callback<R> &other)
: holder_ (other.holder_ ? other.holder_->clone () : 0)
{
}
+/// Destructor.
template<typename R>
Callback<R>::~Callback (void)
{
delete holder_;
}
+/// Assignement operator.
+template<typename R>
+Callback<R> &
+Callback<R>::operator= (const Callback<R> &rhs)
+{
+ Callback<R> (rhs).swap (*this);
+ return *this;
+}
+
+/// Call the contained callback.
template<typename R>
R
Callback<R>::operator () (void)
@@ -59,6 +73,7 @@ Callback<R>::operator () (void)
return (*holder_) ();
}
+/// Swap the callback content with another callback.
template<typename R>
void
Callback<R>::swap (Callback<R> &rhs)
@@ -66,14 +81,7 @@ Callback<R>::swap (Callback<R> &rhs)
std::swap (holder_, rhs.holder_);
}
-template<typename R>
-Callback<R> &
-Callback<R>::operator= (const Callback<R> &rhs)
-{
- Callback<R> (rhs).swap (*this);
- return *this;
-}
-
+/// Change the contained callback.
template<typename R>
template<typename T>
Callback<R> &
@@ -83,6 +91,7 @@ Callback<R>::operator= (T rhs)
return *this;
}
+/// Test if empty.
template<typename R>
bool
Callback<R>::empty (void) const
@@ -90,6 +99,7 @@ Callback<R>::empty (void) const
return !holder_;
}
+/// Test if not empty.
template<typename R>
Callback<R>::operator bool (void) const
{