Operator register default destructor, copy, and assignment
Change-Id: Ia3d432b1f5cad5323717b0b1fcb2ca0dabd19ff9
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/register/hei_operator_register.hpp b/src/register/hei_operator_register.hpp
index 50223ac..7cfd627 100644
--- a/src/register/hei_operator_register.hpp
+++ b/src/register/hei_operator_register.hpp
@@ -8,16 +8,22 @@
class NotRegister : public Register
{
public:
- NotRegister(Register& i_arg) :
+ /**
+ * @brief Constructor from components.
+ * @param i_arg Target register for operation.
+ */
+ explicit NotRegister(Register& i_arg) :
Register(), iv_child(&i_arg), iv_iBS(i_arg.GetBitLength())
{}
- NotRegister& operator=(const NotRegister& r)
- {
- iv_child = r.iv_child;
- iv_iBS = r.iv_iBS;
- return *this;
- }
+ /** @brief Default destructor. */
+ ~NotRegister() = default;
+
+ /** @brief Default copy constructor. */
+ NotRegister(const NotRegister&) = default;
+
+ /** @brief Default assignment operator. */
+ NotRegister& operator=(const NotRegister& r) = default;
const BitString* getBitString(const Chip& i_chip) const
{
@@ -47,18 +53,24 @@
class LeftShiftRegister : public Register
{
public:
+ /**
+ * @brief Constructor from components.
+ * @param i_arg Target register for operation.
+ * @param i_amount The shift value.
+ */
LeftShiftRegister(Register& i_arg, uint16_t i_amount) :
Register(), iv_child(&i_arg), iv_amount(i_amount),
iv_iBS(i_arg.GetBitLength())
{}
- LeftShiftRegister& operator=(const LeftShiftRegister& r)
- {
- iv_child = r.iv_child;
- iv_amount = r.iv_amount;
- iv_iBS = r.iv_iBS;
- return *this;
- }
+ /** @brief Default destructor. */
+ ~LeftShiftRegister() = default;
+
+ /** @brief Default copy constructor. */
+ LeftShiftRegister(const LeftShiftRegister&) = default;
+
+ /** @brief Default assignment operator. */
+ LeftShiftRegister& operator=(const LeftShiftRegister& r) = default;
const BitString* getBitString(const Chip& i_chip) const
{
@@ -91,18 +103,24 @@
class RightShiftRegister : public Register
{
public:
+ /**
+ * @brief Constructor from components.
+ * @param i_arg Target register for operation.
+ * @param i_amount The shift value.
+ */
RightShiftRegister(Register& i_arg, uint16_t i_amount) :
Register(), iv_child(&i_arg), iv_amount(i_amount),
iv_iBS(i_arg.GetBitLength())
{}
- RightShiftRegister& operator=(const RightShiftRegister& r)
- {
- iv_child = r.iv_child;
- iv_amount = r.iv_amount;
- iv_iBS = r.iv_iBS;
- return *this;
- }
+ /** @brief Default destructor. */
+ ~RightShiftRegister() = default;
+
+ /** @brief Default copy constructor. */
+ RightShiftRegister(const RightShiftRegister&) = default;
+
+ /** @brief Default assignment operator. */
+ RightShiftRegister& operator=(const RightShiftRegister& r) = default;
const BitString* getBitString(const Chip& i_chip) const
{
@@ -135,18 +153,24 @@
class AndRegister : public Register
{
public:
+ /**
+ * @brief Constructor from components.
+ * @param i_left Target register for operation.
+ * @param i_right Target register for operation.
+ */
AndRegister(Register& i_left, Register& i_right) :
Register(), iv_left(&i_left), iv_right(&i_right),
iv_iBS(std::min(i_left.GetBitLength(), i_right.GetBitLength()))
{}
- AndRegister& operator=(const AndRegister& r)
- {
- iv_left = r.iv_left;
- iv_right = r.iv_right;
- iv_iBS = r.iv_iBS;
- return *this;
- }
+ /** @brief Default destructor. */
+ ~AndRegister() = default;
+
+ /** @brief Default copy constructor. */
+ AndRegister(const AndRegister&) = default;
+
+ /** @brief Default assignment operator. */
+ AndRegister& operator=(const AndRegister& r) = default;
const BitString* getBitString(const Chip& i_chip) const
{
@@ -180,18 +204,24 @@
class OrRegister : public Register
{
public:
+ /**
+ * @brief Constructor from components.
+ * @param i_left Target register for operation.
+ * @param i_right Target register for operation.
+ */
OrRegister(Register& i_left, Register& i_right) :
Register(), iv_left(&i_left), iv_right(&i_right),
iv_iBS(std::min(i_left.GetBitLength(), i_right.GetBitLength()))
{}
- OrRegister& operator=(const OrRegister& r)
- {
- iv_left = r.iv_left;
- iv_right = r.iv_right;
- iv_iBS = r.iv_iBS;
- return *this;
- }
+ /** @brief Default destructor. */
+ ~OrRegister() = default;
+
+ /** @brief Default copy constructor. */
+ OrRegister(const OrRegister&) = default;
+
+ /** @brief Default assignment operator. */
+ OrRegister& operator=(const OrRegister& r) = default;
const BitString* getBitString(const Chip& i_chip) const
{
@@ -225,14 +255,22 @@
class ConstantRegister : public Register
{
public:
- ConstantRegister(const BitStringBuffer& i_arg) : Register(), iv_iBS(i_arg)
+ /**
+ * @brief Constructor from components.
+ * @param i_arg A BitStringBuffer containing the constant value.
+ */
+ explicit ConstantRegister(const BitStringBuffer& i_arg) :
+ Register(), iv_iBS(i_arg)
{}
- ConstantRegister& operator=(const ConstantRegister& r)
- {
- iv_iBS = r.iv_iBS;
- return *this;
- }
+ /** @brief Default destructor. */
+ ~ConstantRegister() = default;
+
+ /** @brief Default copy constructor. */
+ ConstantRegister(const ConstantRegister&) = default;
+
+ /** @brief Default assignment operator. */
+ ConstantRegister& operator=(const ConstantRegister& r) = default;
const BitString* getBitString(const Chip& i_chip) const
{