Loading...
Searching...
No Matches
Domain.hpp
1#pragma once
2#include <score/serialization/DataStreamFwd.hpp>
3
4#include <score_lib_state_export.h>
5
6#include <memory>
7#include <verdigris>
8
9namespace ossia
10{
11struct domain;
12}
13
14namespace State
15{
16struct SCORE_LIB_STATE_EXPORT Domain
17{
18 // W_GADGET(Domain)
19public:
20 Domain() noexcept;
21 Domain(const Domain& other) noexcept;
22 Domain(Domain&& other) noexcept;
23 Domain& operator=(const Domain& other) noexcept;
24 Domain& operator=(Domain&& other) noexcept;
25 ~Domain();
26
27 Domain(const ossia::domain&) noexcept;
28 Domain& operator=(const ossia::domain&) noexcept;
29
30 operator const ossia::domain&() const noexcept;
31 operator ossia::domain&() noexcept;
32
33 bool operator==(const State::Domain& other) const noexcept;
34 bool operator!=(const State::Domain& other) const noexcept;
35
36 const ossia::domain& get() const noexcept;
37 ossia::domain& get() noexcept;
38
39private:
40 std::unique_ptr<ossia::domain> domain;
41};
42}
43
44SCORE_SERIALIZE_DATASTREAM_DECLARE(SCORE_LIB_STATE_EXPORT, ::State::Domain)
45Q_DECLARE_METATYPE(State::Domain)
46W_REGISTER_ARGTYPE(State::Domain)
Utilities for OSSIA data structures.
Definition DeviceInterface.hpp:33
Definition Domain.hpp:17