FastLED
3.9.15
Loading...
Searching...
No Matches
move.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
fl
{
4
5
6
// Define remove_reference trait
7
template
<
typename
T>
struct
remove_reference
{
8
using
type
= T;
9
};
10
11
// Specialization for lvalue reference
12
template
<
typename
T>
struct
remove_reference
<T &> {
13
using
type
= T;
14
};
15
16
// Specialization for rvalue reference
17
template
<
typename
T>
struct
remove_reference
<T &&> {
18
using
type
= T;
19
};
20
21
// Helper alias template for remove_reference
22
template
<
typename
T>
23
using
remove_reference_t
=
typename
remove_reference<T>::type
;
24
25
// Implementation of move
26
template
<
typename
T>
27
constexpr
typename
remove_reference<T>::type
&&
move
(T &&
t
)
noexcept
{
28
return
static_cast<
typename
remove_reference<T>::type
&&
>
(
t
);
29
}
30
31
}
// namespace fl
t
static uint32_t t
Definition
Luminova.h:54
fl::move
constexpr remove_reference< T >::type && move(T &&t) noexcept
Definition
move.h:27
fl::remove_reference_t
typename remove_reference< T >::type remove_reference_t
Definition
move.h:23
fl
IMPORTANT!
Definition
crgb.h:20
fl::remove_reference< T && >::type
T type
Definition
move.h:18
fl::remove_reference< T & >::type
T type
Definition
move.h:13
fl::remove_reference::type
T type
Definition
move.h:8
fl::remove_reference
Definition
move.h:7
fl
move.h
Generated on Fri Aug 22 2025 20:59:33 for FastLED by
1.13.2