16#ifndef SIMICS_ATTR_VALUE_H
17#define SIMICS_ATTR_VALUE_H
19#include <simics/base/attr-value.h>
35 explicit AttrValue(attr_value_t &&attr) : attr_(
std::move(attr)) {}
40 rhs.attr_.private_kind = Sim_Val_Invalid;
44 SIM_attr_free(&attr_);
45 attr_ = std::move(rhs.attr_);
46 rhs.attr_.private_kind = Sim_Val_Invalid;
51 SIM_attr_free(&attr_);
54 operator attr_value_t &() {
return attr_; }
58 SIM_attr_free(&attr_);
59 attr_ = std::move(rhs);
60 rhs.private_kind = Sim_Val_Invalid;
Definition: attr-value.h:33
~AttrValue()
Definition: attr-value.h:50
AttrValue(const AttrValue &)=delete
AttrValue(attr_value_t &&attr)
Definition: attr-value.h:35
AttrValue & operator=(attr_value_t &&rhs) noexcept
Definition: attr-value.h:57
AttrValue & operator=(const AttrValue &)=delete
AttrValue(AttrValue &&rhs) noexcept
Definition: attr-value.h:39
AttrValue & operator=(AttrValue &&rhs) noexcept
Definition: attr-value.h:42
Definition: after-bank.h:33
Definition: common-types.h:66