UdonLibrary
1.0.0
機械システム研究部 C++ ライブラリ
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
Bit.hpp
[詳解]
1
//
2
// ビット操作
3
//
4
// Copyright (c) 2022 udonrobo
5
//
6
7
#pragma once
8
9
#include <stdint.h>
10
11
namespace
Udon
12
{
13
18
template
<
typename
Ty>
19
inline
bool
20
BitRead
(
const
Ty& rhs, uint8_t bit)
21
{
22
return
(rhs >> bit) & 0x01;
23
}
24
28
template
<
typename
Ty>
29
inline
void
30
BitSet
(Ty& rhs, uint8_t bit)
31
{
32
rhs |= (1UL << bit);
33
}
34
38
template
<
typename
Ty>
39
inline
void
40
BitClear
(Ty& rhs, uint8_t bit)
41
{
42
rhs &= ~(1UL << bit);
43
}
44
48
template
<
typename
Ty>
49
inline
void
50
BitToggle
(Ty& rhs, uint8_t bit)
51
{
52
rhs ^= (1UL << bit);
53
}
54
59
template
<
typename
Ty>
60
inline
void
61
BitWrite
(Ty& rhs, uint8_t bit,
bool
value)
62
{
63
value ?
BitSet
(rhs, bit) :
BitClear
(rhs, bit);
64
}
65
66
}
// namespace Udon
Udon
Definition
Bit.hpp:12
Udon::BitToggle
void BitToggle(Ty &rhs, uint8_t bit)
特定のビットを反転する
Definition
Bit.hpp:50
Udon::BitWrite
void BitWrite(Ty &rhs, uint8_t bit, bool value)
特定のビットに値を書き込む
Definition
Bit.hpp:61
Udon::BitClear
void BitClear(Ty &rhs, uint8_t bit)
特定のビットを 0 にする
Definition
Bit.hpp:40
Udon::BitSet
void BitSet(Ty &rhs, uint8_t bit)
特定のビットを 1 にする
Definition
Bit.hpp:30
Udon::BitRead
bool BitRead(const Ty &rhs, uint8_t bit)
特定のビットを読み取る
Definition
Bit.hpp:20