Add a couple of mising assignment operators to match copy constructors

This commit is contained in:
Tim Wojtulewicz 2022-11-02 15:55:32 -07:00
parent e8dbfc1cb0
commit 859588d710
4 changed files with 33 additions and 0 deletions

View file

@ -947,6 +947,20 @@ TypeDecl::~TypeDecl()
delete[] id;
}
TypeDecl& TypeDecl::operator=(const TypeDecl& other)
{
if ( this == &other )
return *this;
type = other.type;
attrs = other.attrs;
delete[] id;
id = util::copy_string(other.id);
return *this;
}
void TypeDecl::DescribeReST(ODesc* d, bool roles_only) const
{
d->Add(id);

View file

@ -583,6 +583,8 @@ public:
TypeDecl(const TypeDecl& other);
~TypeDecl();
TypeDecl& operator=(const TypeDecl& other);
const detail::AttrPtr& GetAttr(detail::AttrTag a) const
{
return attrs ? attrs->Find(a) : detail::Attr::nil;

View file

@ -47,6 +47,21 @@ FieldMapping FieldMapping::subType()
return FieldMapping(name, subtype, position);
}
FieldMapping& FieldMapping::operator=(const FieldMapping& arg)
{
if ( this == &arg )
return *this;
name = arg.name;
type = arg.type;
subtype = arg.subtype;
present = arg.present;
position = arg.position;
secondary_position = arg.secondary_position;
return *this;
}
Ascii::Ascii(ReaderFrontend* frontend) : ReaderBackend(frontend)
{
mtime = 0;

View file

@ -32,6 +32,8 @@ struct FieldMapping
FieldMapping(const FieldMapping& arg);
FieldMapping() = default;
FieldMapping& operator=(const FieldMapping& arg);
FieldMapping subType();
};