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; 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 void TypeDecl::DescribeReST(ODesc* d, bool roles_only) const
{ {
d->Add(id); d->Add(id);

View file

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

View file

@ -47,6 +47,21 @@ FieldMapping FieldMapping::subType()
return FieldMapping(name, subtype, position); 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) Ascii::Ascii(ReaderFrontend* frontend) : ReaderBackend(frontend)
{ {
mtime = 0; mtime = 0;

View file

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