Deepnote Synthesizer Voice Library
v1.0.0
A C++14 header-only library implementing the THX Deep Note effect
Loading...
Searching...
No Matches
namedtype.hpp
Go to the documentation of this file.
1
34
#pragma once
35
36
#include <utility>
37
38
namespace
deepnote
39
{
40
//
41
// Taken from: https://www.fluentcpp.com/2016/12/08/strong-types-for-strong-interfaces/
42
//
43
template
<
typename
T,
typename
Parameter>
struct
NamedType
44
{
45
public
:
46
explicit
NamedType(
const
T &value)
47
: value_(value)
48
{
49
}
50
explicit
NamedType(T &&value)
51
: value_(std::move(value))
52
{
53
}
54
T &get() {
return
value_; }
55
const
T &get()
const
{
return
value_; }
56
57
bool
operator==(
const
NamedType<T, Parameter> &rhs)
const
{
return
value_ == rhs.value_; }
58
59
private
:
60
T value_;
61
};
62
63
}
// namespace deepnote
src
util
namedtype.hpp
Generated by
1.9.8