summaryrefslogtreecommitdiff
path: root/include/erebos
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2023-01-08 18:35:49 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2023-01-08 21:47:14 +0100
commite788bba4bfcb6cb7d21f607bb5bf93213fb1a334 (patch)
treea0df82c664d9bf46a622cf7d12d2ad2362598e08 /include/erebos
parent5b1887367680c494e27794252fee8d1aacf088ef (diff)
Enable move constructor and move assignment for Watched template
Was not implicitly defined because of explicit destructor.
Diffstat (limited to 'include/erebos')
-rw-r--r--include/erebos/frp.h6
-rw-r--r--include/erebos/sync.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/include/erebos/frp.h b/include/erebos/frp.h
index 5fc88f6..28a8f63 100644
--- a/include/erebos/frp.h
+++ b/include/erebos/frp.h
@@ -62,6 +62,12 @@ template<typename T>
class Watched
{
public:
+ Watched() = default;
+ Watched(const Watched<T> &) = default;
+ Watched & operator=(const Watched<T> &) = default;
+ Watched(Watched<T> &&) = default;
+ Watched & operator=(Watched<T> &&) = default;
+
Watched(shared_ptr<function<void(const BhvCurTime &)>> && cb):
cb(move(cb)) {}
~Watched();
diff --git a/include/erebos/sync.h b/include/erebos/sync.h
index dad4e0e..1ab927d 100644
--- a/include/erebos/sync.h
+++ b/include/erebos/sync.h
@@ -28,7 +28,7 @@ private:
void localStateWatcher(const vector<Ref> &);
const class Server * server;
- std::optional<Watched<vector<Ref>>> watchedLocal;
+ Watched<vector<Ref>> watchedLocal;
};
}