mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-05-04 07:10:16 +00:00
upd
This commit is contained in:
parent
04af094f4b
commit
d4dd0e95fd
@ -650,179 +650,3 @@ inline void IR_DecoderRaw::infoPulse(uint8_t pin, uint8_t count)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Конструктор копирования
|
||||
IR_DecoderRaw::IR_DecoderRaw(const IR_DecoderRaw& other)
|
||||
: packInfo(other.packInfo),
|
||||
encoder(other.encoder), // Если IR_Encoder имеет безопасный копируемый указатель
|
||||
isAvailable(other.isAvailable),
|
||||
packSize(other.packSize),
|
||||
crcValue(other.crcValue),
|
||||
isPairSending(other.isPairSending),
|
||||
isRecive(other.isRecive),
|
||||
isPreamb(other.isPreamb),
|
||||
isSubBufferOverflow(other.isSubBufferOverflow),
|
||||
isBufferOverflow(other.isBufferOverflow),
|
||||
isWrongPack(other.isWrongPack),
|
||||
riseSyncTime(other.riseSyncTime),
|
||||
currentSubBufferIndex(other.currentSubBufferIndex),
|
||||
subBuffer(other.subBuffer), // Копирование буфера
|
||||
lastFront(other.lastFront),
|
||||
firstUnHandledFront(other.firstUnHandledFront),
|
||||
prevRise(other.prevRise),
|
||||
prevPrevRise(other.prevPrevRise),
|
||||
prevFall(other.prevFall),
|
||||
prevPrevFall(other.prevPrevFall),
|
||||
risePeriod(other.risePeriod),
|
||||
highTime(other.highTime),
|
||||
lowTime(other.lowTime),
|
||||
oldTime(other.oldTime),
|
||||
wrongCounter(other.wrongCounter),
|
||||
highCount(other.highCount),
|
||||
lowCount(other.lowCount),
|
||||
allCount(other.allCount),
|
||||
errorCounter(other.errorCounter),
|
||||
preambFrontCounter(other.preambFrontCounter),
|
||||
bufBitPos(other.bufBitPos),
|
||||
isData(other.isData),
|
||||
i_dataBuffer(other.i_dataBuffer),
|
||||
nextControlBit(other.nextControlBit),
|
||||
i_syncBit(other.i_syncBit),
|
||||
err_syncBit(other.err_syncBit)
|
||||
{
|
||||
// Специфическое копирование, если нужно
|
||||
}
|
||||
|
||||
// Оператор копирующего присваивания
|
||||
IR_DecoderRaw& IR_DecoderRaw::operator=(const IR_DecoderRaw& other) {
|
||||
if (this != &other) { // Проверка на самоприсваивание
|
||||
packInfo = other.packInfo;
|
||||
encoder = other.encoder;
|
||||
isAvailable = other.isAvailable;
|
||||
packSize = other.packSize;
|
||||
crcValue = other.crcValue;
|
||||
isPairSending = other.isPairSending;
|
||||
isRecive = other.isRecive;
|
||||
isPreamb = other.isPreamb;
|
||||
isSubBufferOverflow = other.isSubBufferOverflow;
|
||||
isBufferOverflow = other.isBufferOverflow;
|
||||
isWrongPack = other.isWrongPack;
|
||||
riseSyncTime = other.riseSyncTime;
|
||||
currentSubBufferIndex = other.currentSubBufferIndex;
|
||||
subBuffer = other.subBuffer;
|
||||
lastFront = other.lastFront;
|
||||
firstUnHandledFront = other.firstUnHandledFront;
|
||||
prevRise = other.prevRise;
|
||||
prevPrevRise = other.prevPrevRise;
|
||||
prevFall = other.prevFall;
|
||||
prevPrevFall = other.prevPrevFall;
|
||||
risePeriod = other.risePeriod;
|
||||
highTime = other.highTime;
|
||||
lowTime = other.lowTime;
|
||||
oldTime = other.oldTime;
|
||||
wrongCounter = other.wrongCounter;
|
||||
highCount = other.highCount;
|
||||
lowCount = other.lowCount;
|
||||
allCount = other.allCount;
|
||||
errorCounter = other.errorCounter;
|
||||
preambFrontCounter = other.preambFrontCounter;
|
||||
bufBitPos = other.bufBitPos;
|
||||
isData = other.isData;
|
||||
i_dataBuffer = other.i_dataBuffer;
|
||||
nextControlBit = other.nextControlBit;
|
||||
i_syncBit = other.i_syncBit;
|
||||
err_syncBit = other.err_syncBit;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Конструктор перемещения
|
||||
IR_DecoderRaw::IR_DecoderRaw(IR_DecoderRaw&& other)
|
||||
: packInfo(std::move(other.packInfo)),
|
||||
encoder(other.encoder),
|
||||
isAvailable(other.isAvailable),
|
||||
packSize(other.packSize),
|
||||
crcValue(other.crcValue),
|
||||
isPairSending(other.isPairSending),
|
||||
isRecive(other.isRecive),
|
||||
isPreamb(other.isPreamb),
|
||||
isSubBufferOverflow(other.isSubBufferOverflow),
|
||||
isBufferOverflow(other.isBufferOverflow),
|
||||
isWrongPack(other.isWrongPack),
|
||||
riseSyncTime(other.riseSyncTime),
|
||||
currentSubBufferIndex(other.currentSubBufferIndex),
|
||||
subBuffer(std::move(other.subBuffer)),
|
||||
lastFront(other.lastFront),
|
||||
firstUnHandledFront(other.firstUnHandledFront),
|
||||
prevRise(other.prevRise),
|
||||
prevPrevRise(other.prevPrevRise),
|
||||
prevFall(other.prevFall),
|
||||
prevPrevFall(other.prevPrevFall),
|
||||
risePeriod(other.risePeriod),
|
||||
highTime(other.highTime),
|
||||
lowTime(other.lowTime),
|
||||
oldTime(other.oldTime),
|
||||
wrongCounter(other.wrongCounter),
|
||||
highCount(other.highCount),
|
||||
lowCount(other.lowCount),
|
||||
allCount(other.allCount),
|
||||
errorCounter(other.errorCounter),
|
||||
preambFrontCounter(other.preambFrontCounter),
|
||||
bufBitPos(other.bufBitPos),
|
||||
isData(other.isData),
|
||||
i_dataBuffer(other.i_dataBuffer),
|
||||
nextControlBit(other.nextControlBit),
|
||||
i_syncBit(other.i_syncBit),
|
||||
err_syncBit(other.err_syncBit)
|
||||
{
|
||||
other.encoder = nullptr;
|
||||
other.lastFront = nullptr;
|
||||
other.firstUnHandledFront = nullptr;
|
||||
}
|
||||
|
||||
// Оператор перемещающего присваивания
|
||||
IR_DecoderRaw& IR_DecoderRaw::operator=(IR_DecoderRaw&& other) {
|
||||
if (this != &other) { // Проверка на самоприсваивание
|
||||
packInfo = std::move(other.packInfo);
|
||||
encoder = other.encoder;
|
||||
isAvailable = other.isAvailable;
|
||||
packSize = other.packSize;
|
||||
crcValue = other.crcValue;
|
||||
isPairSending = other.isPairSending;
|
||||
isRecive = other.isRecive;
|
||||
isPreamb = other.isPreamb;
|
||||
isSubBufferOverflow = other.isSubBufferOverflow;
|
||||
isBufferOverflow = other.isBufferOverflow;
|
||||
isWrongPack = other.isWrongPack;
|
||||
riseSyncTime = other.riseSyncTime;
|
||||
currentSubBufferIndex = other.currentSubBufferIndex;
|
||||
subBuffer = std::move(other.subBuffer);
|
||||
lastFront = other.lastFront;
|
||||
firstUnHandledFront = other.firstUnHandledFront;
|
||||
prevRise = other.prevRise;
|
||||
prevPrevRise = other.prevPrevRise;
|
||||
prevFall = other.prevFall;
|
||||
prevPrevFall = other.prevPrevFall;
|
||||
risePeriod = other.risePeriod;
|
||||
highTime = other.highTime;
|
||||
lowTime = other.lowTime;
|
||||
oldTime = other.oldTime;
|
||||
wrongCounter = other.wrongCounter;
|
||||
highCount = other.highCount;
|
||||
lowCount = other.lowCount;
|
||||
allCount = other.allCount;
|
||||
errorCounter = other.errorCounter;
|
||||
preambFrontCounter = other.preambFrontCounter;
|
||||
bufBitPos = other.bufBitPos;
|
||||
isData = other.isData;
|
||||
i_dataBuffer = other.i_dataBuffer;
|
||||
nextControlBit = other.nextControlBit;
|
||||
i_syncBit = other.i_syncBit;
|
||||
err_syncBit = other.err_syncBit;
|
||||
|
||||
other.encoder = nullptr;
|
||||
other.lastFront = nullptr;
|
||||
other.firstUnHandledFront = nullptr;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user