mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-10-31 23:26:22 +00:00
Improve copy and move constructors
This commit is contained in:
parent
c3c1098790
commit
090017dfaa
@ -73,16 +73,16 @@ bool operator==(const Gnss_Satellite& sat1, const Gnss_Satellite& sat2)
|
|||||||
|
|
||||||
// Copy constructor
|
// Copy constructor
|
||||||
Gnss_Satellite::Gnss_Satellite(const Gnss_Satellite& other) noexcept
|
Gnss_Satellite::Gnss_Satellite(const Gnss_Satellite& other) noexcept
|
||||||
|
: system(other.system),
|
||||||
|
block(other.block),
|
||||||
|
PRN(other.PRN),
|
||||||
|
rf_link(other.rf_link)
|
||||||
{
|
{
|
||||||
system = other.system;
|
|
||||||
block = other.block;
|
|
||||||
PRN = other.PRN;
|
|
||||||
rf_link = other.rf_link;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Copy assignment operator
|
// Copy assignment operator
|
||||||
Gnss_Satellite& Gnss_Satellite::operator=(const Gnss_Satellite& rhs)
|
Gnss_Satellite& Gnss_Satellite::operator=(const Gnss_Satellite& rhs) noexcept
|
||||||
{
|
{
|
||||||
// Only do assignment if RHS is a different object from this.
|
// Only do assignment if RHS is a different object from this.
|
||||||
if (this != &rhs)
|
if (this != &rhs)
|
||||||
@ -98,11 +98,11 @@ Gnss_Satellite& Gnss_Satellite::operator=(const Gnss_Satellite& rhs)
|
|||||||
|
|
||||||
// Move constructor
|
// Move constructor
|
||||||
Gnss_Satellite::Gnss_Satellite(Gnss_Satellite&& other) noexcept
|
Gnss_Satellite::Gnss_Satellite(Gnss_Satellite&& other) noexcept
|
||||||
|
: system(std::move(other.system)),
|
||||||
|
block(std::move(other.block)),
|
||||||
|
PRN(other.PRN),
|
||||||
|
rf_link(other.rf_link)
|
||||||
{
|
{
|
||||||
system = std::move(other.system);
|
|
||||||
block = std::move(other.block);
|
|
||||||
PRN = other.PRN;
|
|
||||||
rf_link = other.rf_link;
|
|
||||||
other.reset();
|
other.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ public:
|
|||||||
~Gnss_Satellite() = default; //!< Default Destructor.
|
~Gnss_Satellite() = default; //!< Default Destructor.
|
||||||
|
|
||||||
Gnss_Satellite(const Gnss_Satellite& other) noexcept; //!< Copy constructor
|
Gnss_Satellite(const Gnss_Satellite& other) noexcept; //!< Copy constructor
|
||||||
Gnss_Satellite& operator=(const Gnss_Satellite&); //!< Copy assignment operator
|
Gnss_Satellite& operator=(const Gnss_Satellite&) noexcept; //!< Copy assignment operator
|
||||||
Gnss_Satellite(Gnss_Satellite&& other) noexcept; //!< Move constructor
|
Gnss_Satellite(Gnss_Satellite&& other) noexcept; //!< Move constructor
|
||||||
Gnss_Satellite& operator=(Gnss_Satellite&& other) noexcept; //!< Move assignment operator
|
Gnss_Satellite& operator=(Gnss_Satellite&& other) noexcept; //!< Move assignment operator
|
||||||
|
|
||||||
|
@ -221,30 +221,6 @@ Acquisition_Dump_Reader::Acquisition_Dump_Reader(const std::string& basename,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy constructor
|
|
||||||
Acquisition_Dump_Reader::Acquisition_Dump_Reader(const Acquisition_Dump_Reader& other) noexcept
|
|
||||||
: doppler(other.doppler),
|
|
||||||
samples(other.samples),
|
|
||||||
mag(other.mag),
|
|
||||||
acq_doppler_hz(other.acq_doppler_hz),
|
|
||||||
acq_delay_samples(other.acq_delay_samples),
|
|
||||||
test_statistic(other.test_statistic),
|
|
||||||
input_power(other.input_power),
|
|
||||||
threshold(other.threshold),
|
|
||||||
positive_acq(other.positive_acq),
|
|
||||||
PRN(other.PRN),
|
|
||||||
num_dwells(other.num_dwells),
|
|
||||||
sample_counter(other.sample_counter),
|
|
||||||
d_basename(other.d_basename),
|
|
||||||
d_dump_filename(other.d_dump_filename),
|
|
||||||
d_sat(other.d_sat),
|
|
||||||
d_doppler_max(other.d_doppler_max),
|
|
||||||
d_doppler_step(other.d_doppler_step),
|
|
||||||
d_samples_per_code(other.d_samples_per_code),
|
|
||||||
d_num_doppler_bins(other.d_num_doppler_bins)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Copy assignment operator
|
// Copy assignment operator
|
||||||
Acquisition_Dump_Reader& Acquisition_Dump_Reader::operator=(const Acquisition_Dump_Reader& other) noexcept
|
Acquisition_Dump_Reader& Acquisition_Dump_Reader::operator=(const Acquisition_Dump_Reader& other) noexcept
|
||||||
@ -308,23 +284,23 @@ Acquisition_Dump_Reader& Acquisition_Dump_Reader::operator=(Acquisition_Dump_Rea
|
|||||||
// Move member variables from the other object to this object
|
// Move member variables from the other object to this object
|
||||||
d_basename = std::move(other.d_basename);
|
d_basename = std::move(other.d_basename);
|
||||||
d_dump_filename = std::move(other.d_dump_filename);
|
d_dump_filename = std::move(other.d_dump_filename);
|
||||||
d_sat = std::move(other.d_sat);
|
d_sat = other.d_sat;
|
||||||
d_doppler_max = std::move(other.d_doppler_max);
|
d_doppler_max = other.d_doppler_max;
|
||||||
d_doppler_step = std::move(other.d_doppler_step);
|
d_doppler_step = other.d_doppler_step;
|
||||||
d_samples_per_code = std::move(other.d_samples_per_code);
|
d_samples_per_code = other.d_samples_per_code;
|
||||||
d_num_doppler_bins = std::move(other.d_num_doppler_bins);
|
d_num_doppler_bins = other.d_num_doppler_bins;
|
||||||
doppler = std::move(other.doppler);
|
doppler = std::move(other.doppler);
|
||||||
samples = std::move(other.samples);
|
samples = std::move(other.samples);
|
||||||
mag = std::move(other.mag);
|
mag = std::move(other.mag);
|
||||||
acq_doppler_hz = std::move(other.acq_doppler_hz);
|
acq_doppler_hz = other.acq_doppler_hz;
|
||||||
acq_delay_samples = std::move(other.acq_delay_samples);
|
acq_delay_samples = other.acq_delay_samples;
|
||||||
test_statistic = std::move(other.test_statistic);
|
test_statistic = other.test_statistic;
|
||||||
input_power = std::move(other.input_power);
|
input_power = other.input_power;
|
||||||
threshold = std::move(other.threshold);
|
threshold = other.threshold;
|
||||||
positive_acq = std::move(other.positive_acq);
|
positive_acq = other.positive_acq;
|
||||||
PRN = std::move(other.PRN);
|
PRN = other.PRN;
|
||||||
num_dwells = std::move(other.num_dwells);
|
num_dwells = other.num_dwells;
|
||||||
sample_counter = std::move(other.sample_counter);
|
sample_counter = other.sample_counter;
|
||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
@ -37,7 +37,7 @@ public:
|
|||||||
int channel = 0,
|
int channel = 0,
|
||||||
int execution = 1);
|
int execution = 1);
|
||||||
|
|
||||||
Acquisition_Dump_Reader(const Acquisition_Dump_Reader& other) noexcept; //!< Copy constructor
|
Acquisition_Dump_Reader(const Acquisition_Dump_Reader& other) noexcept = default; //!< Copy constructor
|
||||||
Acquisition_Dump_Reader& operator=(const Acquisition_Dump_Reader& other) noexcept; //!< Copy assignment operator
|
Acquisition_Dump_Reader& operator=(const Acquisition_Dump_Reader& other) noexcept; //!< Copy assignment operator
|
||||||
Acquisition_Dump_Reader(Acquisition_Dump_Reader&& other) noexcept; //!< Move constructor
|
Acquisition_Dump_Reader(Acquisition_Dump_Reader&& other) noexcept; //!< Move constructor
|
||||||
Acquisition_Dump_Reader& operator=(Acquisition_Dump_Reader&& other) noexcept; //!< Move assignment operator
|
Acquisition_Dump_Reader& operator=(Acquisition_Dump_Reader&& other) noexcept; //!< Move assignment operator
|
||||||
|
Loading…
Reference in New Issue
Block a user