const unsigned int alignment;
protected:
- type(unsigned int alignment);
+ explicit type(unsigned int alignment);
private:
virtual bool _is_equal(const type& rhs) const noexcept = 0;
base base,
roles roles = {});
- virtual type::cuptr copy() const override;
+ type::cuptr copy() const override;
- virtual void accept(type_visitor& visitor) const override;
+ void accept(type_visitor& visitor) const override;
const enum byte_order byte_order;
const unsigned int size;
const roles roles_;
protected:
- virtual bool _is_equal(const type& other) const noexcept override;
+ bool _is_equal(const type& other) const noexcept override;
};
class floating_point_type : public type {
unsigned int exponent_digits,
unsigned int mantissa_digits);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const enum byte_order byte_order;
const unsigned int exponent_digits;
const unsigned int mantissa_digits;
private:
- virtual bool _is_equal(const type& other) const noexcept override final;
+ bool _is_equal(const type& other) const noexcept final;
};
class enumeration_type : public integer_type {
enum base base,
integer_type::roles roles = {});
- virtual void accept(type_visitor& visitor) const = 0;
+ void accept(type_visitor& visitor) const override = 0;
};
namespace details {
using range_t = enumeration_mapping_range<MappingIntegerType>;
enumeration_mapping(const enumeration_mapping<MappingIntegerType>& other) = default;
- enumeration_mapping(const enumeration_mapping<MappingIntegerType>&& other) :
- name{std::move(other.name)}, range{other.range}
+ enumeration_mapping(const enumeration_mapping<MappingIntegerType>&& other) noexcept :
+ name{ std::move(other.name) }, range{ other.range }
{
}
{
}
- virtual type::cuptr copy() const override
+ type::cuptr copy() const override
{
return lttng::make_unique<typed_enumeration_type<MappingIntegerType>>(
alignment, byte_order, size, base_, mappings_, roles_);
}
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const std::shared_ptr<const mappings> mappings_;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final
+ bool _is_equal(const type& base_other) const noexcept final
{
const auto& other = static_cast<const typed_enumeration_type<MappingIntegerType>&>(
base_other);
const type::cuptr element_type;
protected:
- virtual bool _is_equal(const type& base_other) const noexcept override;
+ bool _is_equal(const type& base_other) const noexcept override;
};
class static_length_array_type : public array_type {
type::cuptr element_type,
uint64_t in_length);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const uint64_t length;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
class dynamic_length_array_type : public array_type {
type::cuptr element_type,
field_location length_field_location);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const field_location length_field_location;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
class static_length_blob_type : public type {
static_length_blob_type(unsigned int alignment, uint64_t in_length_bytes, roles roles = {});
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const uint64_t length_bytes;
const roles roles_;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
class dynamic_length_blob_type : public type {
public:
dynamic_length_blob_type(unsigned int alignment, field_location length_field_location);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const field_location length_field_location;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
class string_type : public type {
const encoding encoding_;
protected:
- virtual bool _is_equal(const type& base_other) const noexcept override;
+ bool _is_equal(const type& base_other) const noexcept override;
};
class static_length_string_type : public string_type {
static_length_string_type(
unsigned int alignment, enum encoding in_encoding, uint64_t length);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const uint64_t length;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
class dynamic_length_string_type : public string_type {
enum encoding in_encoding,
field_location length_field_location);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const field_location length_field_location;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
class null_terminated_string_type : public string_type {
public:
null_terminated_string_type(unsigned int alignment, enum encoding in_encoding);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
};
class structure_type : public type {
structure_type(unsigned int alignment, fields in_fields);
- virtual type::cuptr copy() const override final;
+ type::cuptr copy() const final;
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const fields fields_;
private:
- virtual bool _is_equal(const type& base_other) const noexcept override final;
+ bool _is_equal(const type& base_other) const noexcept final;
};
template <typename MappingIntegerType>
{
}
- virtual type::cuptr copy() const override final
+ type::cuptr copy() const final
{
choices copy_of_choices;
alignment, selector_field_location, std::move(copy_of_choices));
}
- virtual void accept(type_visitor& visitor) const override final;
+ void accept(type_visitor& visitor) const final;
const field_location selector_field_location;
const choices choices_;
});
}
- virtual bool _is_equal(const type& base_other) const noexcept override final
+ bool _is_equal(const type& base_other) const noexcept final
{
const auto& other = static_cast<decltype(*this)&>(base_other);