u32b tmp32u;
rd_u32b(&tmp32u);
- std::bitset<32> rd_bits(tmp32u);
- for (size_t i = 0; i < std::min(m_ptr->smart.size(), rd_bits.size()); i++) {
+ std::bitset<32> rd_bits_smart(tmp32u);
+ for (size_t i = 0; i < std::min(m_ptr->smart.size(), rd_bits_smart.size()); i++) {
auto f = static_cast<SM>(i);
- m_ptr->smart[f] = rd_bits[i];
+ m_ptr->smart[f] = rd_bits_smart[i];
}
// 3.0.0Alpha10以前のSM_CLONED(ビット位置22)、SM_PET(23)、SM_FRIEDLY(28)をMFLAG2に移行する
// ビット位置の定義はなくなるので、ビット位置の値をハードコードする。
- m_ptr->mflag2[MFLAG2::CLONED] = rd_bits[22];
- m_ptr->mflag2[MFLAG2::PET] = rd_bits[23];
- m_ptr->mflag2[MFLAG2::FRIENDLY] = rd_bits[28];
+ m_ptr->mflag2[MFLAG2::CLONED] = rd_bits_smart[22];
+ m_ptr->mflag2[MFLAG2::PET] = rd_bits_smart[23];
+ m_ptr->mflag2[MFLAG2::FRIENDLY] = rd_bits_smart[28];
m_ptr->smart.reset(static_cast<SM>(22)).reset(static_cast<SM>(23)).reset(static_cast<SM>(28));
if (h_older_than(0, 4, 5)) {
} else {
rd_byte(&tmp8u);
constexpr auto base = static_cast<int>(MFLAG2::KAGE);
- std::bitset<7> rd_bits(tmp8u);
- for (size_t i = 0; i < std::min(m_ptr->mflag2.size(), rd_bits.size()); ++i) {
+ std::bitset<7> rd_bits_mflag2(tmp8u);
+ for (size_t i = 0; i < std::min(m_ptr->mflag2.size(), rd_bits_mflag2.size()); ++i) {
auto f = static_cast<MFLAG2>(base + i);
- m_ptr->mflag2[f] = rd_bits[i];
+ m_ptr->mflag2[f] = rd_bits_mflag2[i];
}
}