FastLED 3.9.15
Loading...
Searching...
No Matches
ichannel.h
Go to the documentation of this file.
1#pragma once
2
15
16#include "fl/stl/noexcept.h"
17#include "fl/stl/stdint.h"
18#include "fl/stl/string.h" // IWYU pragma: keep
19
20namespace fl {
21
23class IChannel {
24public:
25 virtual ~IChannel() FL_NOEXCEPT = default;
26
28 virtual i32 id() const = 0;
29
31 virtual const fl::string& name() const = 0;
32
33protected:
34 IChannel() FL_NOEXCEPT = default;
35
36 // Non-copyable, non-movable -- concrete channels are owned by shared_ptr.
37 IChannel(const IChannel&) FL_NOEXCEPT = delete;
38 IChannel& operator=(const IChannel&) FL_NOEXCEPT = delete;
40 IChannel& operator=(IChannel&&) FL_NOEXCEPT = delete;
41};
42
43} // namespace fl
IChannel() FL_NOEXCEPT=default
virtual const fl::string & name() const =0
User-specified or auto-generated name (e.g. "Channel_3").
virtual ~IChannel() FL_NOEXCEPT=default
Base definition for an LED controller.
Definition crgb.hpp:179
#define FL_NOEXCEPT