Control Surface
1.1.1
MIDI Control Surface library for Arduino
src
AH
Types
Frequency.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
AH/Settings/Warnings.hpp
>
4
AH_DIAGNOSTIC_WERROR
()
// Enable errors on warnings
5
6
#include <AH/Settings/NamespaceSettings.hpp>
7
8
BEGIN_AH_NAMESPACE
9
11
class
Frequency
{
12
public
:
13
explicit
constexpr
Frequency
(
unsigned
long
hertz) : hertz(hertz) {}
14
constexpr
operator
unsigned
long()
const
{
return
hertz; }
15
16
private
:
17
unsigned
long
hertz
;
18
};
19
constexpr
Frequency
operator
""
_Hz(
unsigned
long
long
hz) {
20
return
Frequency
{(
unsigned
long)hz};
21
}
22
constexpr Frequency
operator
""
_kHz(
long
double
khz) {
23
return
Frequency{(
unsigned
long)(khz * 1E3)};
24
}
25
constexpr Frequency
operator
""
_kHz(
unsigned
long
long
khz) {
26
return
Frequency{(
unsigned
long)(khz * 1E3)};
27
}
28
constexpr Frequency
operator
""
_MHz(
long
double
mhz) {
29
return
Frequency{(
unsigned
long)(mhz * 1E6)};
30
}
31
constexpr Frequency
operator
""
_MHz(
unsigned
long
long
mhz) {
32
return
Frequency{(
unsigned
long)(mhz * 1E6)};
33
}
34
35
END_AH_NAMESPACE
36
37
AH_DIAGNOSTIC_POP
()
Warnings.hpp
AH_DIAGNOSTIC_POP
#define AH_DIAGNOSTIC_POP()
Definition:
Warnings.hpp:17
AH::Frequency::Frequency
constexpr Frequency(unsigned long hertz)
Definition:
Frequency.hpp:13
AH::Frequency
Type-safe class for frequency values.
Definition:
Frequency.hpp:11
AH_DIAGNOSTIC_WERROR
#define AH_DIAGNOSTIC_WERROR()
Definition:
Warnings.hpp:16
BEGIN_AH_NAMESPACE
#define BEGIN_AH_NAMESPACE
Definition:
AH/Settings/NamespaceSettings.hpp:9
END_AH_NAMESPACE
#define END_AH_NAMESPACE
Definition:
AH/Settings/NamespaceSettings.hpp:10
AH::Frequency::hertz
unsigned long hertz
Definition:
Frequency.hpp:17
Generated by
1.8.16