*
* @param o Value in the underlying type
*/
- explicit Index(T o) : _index{o} {}
+ explicit Index(const T o) : _index{o} {}
/**
* @brief Copy Constructor
*
* @param o Object to be copied
*/
- Index(const Index &o) : _index{o._index} {}
+ Index(const Index &o) = default;
/**
* @brief Assign a value in the underlying time
* @param o Value in the underlying type
* @return Index& Reference of this pointer
*/
- Index &operator=(T o)
+ Index &operator=(const T o)
{
_index = o;
return *this;
* @param o Object to be copied
* @return Index& Reference of this pointer
*/
- Index &operator=(const T &o)
- {
- _index = o._index;
- return *this;
- }
+ Index &operator=(const Index &o) = default;
/**
* @brief Equality operator
* @brief Inquality operator
*
* @param o The other value in the underlying type to compare
- * @return true if underlying value is the same, false otherwise
+ * @return true if underlying value is different, false otherwise
*/
bool operator!=(T o) const { return !(*this == o); }
/**
* @brief Inquality operator
*
* @param o The other object to compare
- * @return true if underlying value is the same, false otherwise
+ * @return true if underlying value is different, false otherwise
*/
bool operator!=(const Index &o) const { return !(*this == o); }