UdonLibrary 1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
Bit.hpp
[詳解]
1//
2// ビット操作
3//
4// Copyright (c) 2022-2024 udonrobo
5//
6
7#pragma once
8
9#include <stdint.h>
10
11namespace 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
Definition Bit.hpp:12
void BitToggle(Ty &rhs, uint8_t bit)
特定のビットを反転する
Definition Bit.hpp:50
void BitWrite(Ty &rhs, uint8_t bit, bool value)
特定のビットに値を書き込む
Definition Bit.hpp:61
void BitClear(Ty &rhs, uint8_t bit)
特定のビットを 0 にする
Definition Bit.hpp:40
void BitSet(Ty &rhs, uint8_t bit)
特定のビットを 1 にする
Definition Bit.hpp:30
bool BitRead(const Ty &rhs, uint8_t bit)
特定のビットを読み取る
Definition Bit.hpp:20