diff options
Diffstat (limited to 'src/SignalDirection.hpp')
-rw-r--r-- | src/SignalDirection.hpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/SignalDirection.hpp b/src/SignalDirection.hpp index 3d499a4..84c3cc2 100644 --- a/src/SignalDirection.hpp +++ b/src/SignalDirection.hpp @@ -4,6 +4,15 @@ #ifndef PATCHAGE_SIGNALDIRECTION_HPP #define PATCHAGE_SIGNALDIRECTION_HPP +#include "warnings.hpp" + +PATCHAGE_DISABLE_FMT_WARNINGS +#include <fmt/core.h> +#include <fmt/ostream.h> +PATCHAGE_RESTORE_WARNINGS + +#include <ostream> + namespace patchage { enum class SignalDirection { @@ -12,6 +21,24 @@ enum class SignalDirection { duplex, }; +inline std::ostream& +operator<<(std::ostream& os, const SignalDirection direction) +{ + switch (direction) { + case SignalDirection::input: + return os << "input"; + case SignalDirection::output: + return os << "output"; + case SignalDirection::duplex: + return os << "duplex"; + } + + PATCHAGE_UNREACHABLE(); +} + } // namespace patchage +template<> +struct fmt::formatter<patchage::SignalDirection> : fmt::ostream_formatter {}; + #endif // PATCHAGE_SIGNALDIRECTION_HPP |