From da4f857e07b69644f30e6128a7e4fa5e85741566 Mon Sep 17 00:00:00 2001 From: Serge Lamikhov-Center Date: Thu, 26 Aug 2021 12:57:31 +0300 Subject: [PATCH] modernize-use-override --- elfio/elfio_header.hpp | 4 ++-- elfio/elfio_section.hpp | 32 ++++++++++++++++---------------- elfio/elfio_segment.hpp | 26 +++++++++++++------------- elfio/elfio_utils.hpp | 30 +++++++++++++++--------------- 4 files changed, 46 insertions(+), 46 deletions(-) diff --git a/elfio/elfio_header.hpp b/elfio/elfio_header.hpp index ac9ffa2..2339c9f 100644 --- a/elfio/elfio_header.hpp +++ b/elfio/elfio_header.hpp @@ -101,7 +101,7 @@ template class elf_header_impl : public elf_header } //------------------------------------------------------------------------------ - bool load( std::istream& stream ) + bool load( std::istream& stream ) override { stream.seekg( 0 ); stream.read( reinterpret_cast( &header ), sizeof( header ) ); @@ -110,7 +110,7 @@ template class elf_header_impl : public elf_header } //------------------------------------------------------------------------------ - bool save( std::ostream& stream ) const + bool save( std::ostream& stream ) const override { stream.seekp( 0 ); stream.write( reinterpret_cast( &header ), diff --git a/elfio/elfio_section.hpp b/elfio/elfio_section.hpp index 67d5bac..b5acd1b 100644 --- a/elfio/elfio_section.hpp +++ b/elfio/elfio_section.hpp @@ -85,7 +85,7 @@ template class section_impl : public section } //------------------------------------------------------------------------------ - ~section_impl() { delete[] data; } + ~section_impl() override { delete[] data; } //------------------------------------------------------------------------------ // Section info functions @@ -100,16 +100,16 @@ template class section_impl : public section ELFIO_GET_ACCESS( Elf64_Addr, address, header.sh_addr ); //------------------------------------------------------------------------------ - Elf_Half get_index() const { return index; } + Elf_Half get_index() const override { return index; } //------------------------------------------------------------------------------ - std::string get_name() const { return name; } + std::string get_name() const override { return name; } //------------------------------------------------------------------------------ - void set_name( std::string name ) { this->name = name; } + void set_name( std::string name ) override { this->name = name; } //------------------------------------------------------------------------------ - void set_address( Elf64_Addr value ) + void set_address( Elf64_Addr value ) override { header.sh_addr = value; header.sh_addr = ( *convertor )( header.sh_addr ); @@ -117,13 +117,13 @@ template class section_impl : public section } //------------------------------------------------------------------------------ - bool is_address_initialized() const { return is_address_set; } + bool is_address_initialized() const override { return is_address_set; } //------------------------------------------------------------------------------ - const char* get_data() const { return data; } + const char* get_data() const override { return data; } //------------------------------------------------------------------------------ - void set_data( const char* raw_data, Elf_Word size ) + void set_data( const char* raw_data, Elf_Word size ) override { if ( get_type() != SHT_NOBITS ) { delete[] data; @@ -141,13 +141,13 @@ template class section_impl : public section } //------------------------------------------------------------------------------ - void set_data( const std::string& str_data ) + void set_data( const std::string& str_data ) override { return set_data( str_data.c_str(), (Elf_Word)str_data.size() ); } //------------------------------------------------------------------------------ - void append_data( const char* raw_data, Elf_Word size ) + void append_data( const char* raw_data, Elf_Word size ) override { if ( get_type() != SHT_NOBITS ) { if ( get_size() + size < data_size ) { @@ -173,7 +173,7 @@ template class section_impl : public section } //------------------------------------------------------------------------------ - void append_data( const std::string& str_data ) + void append_data( const std::string& str_data ) override { return append_data( str_data.c_str(), (Elf_Word)str_data.size() ); } @@ -184,10 +184,10 @@ template class section_impl : public section ELFIO_GET_SET_ACCESS( Elf64_Off, offset, header.sh_offset ); //------------------------------------------------------------------------------ - void set_index( Elf_Half value ) { index = value; } + void set_index( Elf_Half value ) override { index = value; } //------------------------------------------------------------------------------ - void load( std::istream& stream, std::streampos header_offset ) + void load( std::istream& stream, std::streampos header_offset ) override { std::fill_n( reinterpret_cast( &header ), sizeof( header ), '\0' ); @@ -218,7 +218,7 @@ template class section_impl : public section //------------------------------------------------------------------------------ void save( std::ostream& stream, std::streampos header_offset, - std::streampos data_offset ) + std::streampos data_offset ) override { if ( 0 != get_index() ) { header.sh_offset = data_offset; @@ -250,10 +250,10 @@ template class section_impl : public section } //------------------------------------------------------------------------------ - size_t get_stream_size() const { return stream_size; } + size_t get_stream_size() const override { return stream_size; } //------------------------------------------------------------------------------ - void set_stream_size( size_t value ) { stream_size = value; } + void set_stream_size( size_t value ) override { stream_size = value; } //------------------------------------------------------------------------------ private: diff --git a/elfio/elfio_segment.hpp b/elfio/elfio_segment.hpp index 4e4ccc2..2fb9bdb 100644 --- a/elfio/elfio_segment.hpp +++ b/elfio/elfio_segment.hpp @@ -79,7 +79,7 @@ template class segment_impl : public segment } //------------------------------------------------------------------------------ - virtual ~segment_impl() { delete[] data; } + ~segment_impl() override { delete[] data; } //------------------------------------------------------------------------------ // Section info functions @@ -100,13 +100,13 @@ template class segment_impl : public segment void set_stream_size( size_t value ) { stream_size = value; } //------------------------------------------------------------------------------ - Elf_Half get_index() const { return index; } + Elf_Half get_index() const override { return index; } //------------------------------------------------------------------------------ - const char* get_data() const { return data; } + const char* get_data() const override { return data; } //------------------------------------------------------------------------------ - Elf_Half add_section_index( Elf_Half sec_index, Elf_Xword addr_align ) + Elf_Half add_section_index( Elf_Half sec_index, Elf_Xword addr_align ) override { sections.emplace_back( sec_index ); if ( addr_align > get_align() ) { @@ -117,16 +117,16 @@ template class segment_impl : public segment } //------------------------------------------------------------------------------ - Elf_Half add_section( section* psec, Elf_Xword addr_align ) + Elf_Half add_section( section* psec, Elf_Xword addr_align ) override { return add_section_index( psec->get_index(), addr_align ); } //------------------------------------------------------------------------------ - Elf_Half get_sections_num() const { return (Elf_Half)sections.size(); } + Elf_Half get_sections_num() const override { return (Elf_Half)sections.size(); } //------------------------------------------------------------------------------ - Elf_Half get_section_index_at( Elf_Half num ) const + Elf_Half get_section_index_at( Elf_Half num ) const override { if ( num < sections.size() ) { return sections[num]; @@ -140,7 +140,7 @@ template class segment_impl : public segment //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ - void set_offset( Elf64_Off value ) + void set_offset( Elf64_Off value ) override { ph.p_offset = value; ph.p_offset = ( *convertor )( ph.p_offset ); @@ -148,16 +148,16 @@ template class segment_impl : public segment } //------------------------------------------------------------------------------ - bool is_offset_initialized() const { return is_offset_set; } + bool is_offset_initialized() const override { return is_offset_set; } //------------------------------------------------------------------------------ - const std::vector& get_sections() const { return sections; } + const std::vector& get_sections() const override { return sections; } //------------------------------------------------------------------------------ - void set_index( Elf_Half value ) { index = value; } + void set_index( Elf_Half value ) override { index = value; } //------------------------------------------------------------------------------ - void load( std::istream& stream, std::streampos header_offset ) + void load( std::istream& stream, std::streampos header_offset ) override { stream.seekg( 0, stream.end ); @@ -188,7 +188,7 @@ template class segment_impl : public segment //------------------------------------------------------------------------------ void save( std::ostream& stream, std::streampos header_offset, - std::streampos data_offset ) + std::streampos data_offset ) override { ph.p_offset = data_offset; ph.p_offset = ( *convertor )( ph.p_offset ); diff --git a/elfio/elfio_utils.hpp b/elfio/elfio_utils.hpp index b1e0fac..d7cb4e1 100644 --- a/elfio/elfio_utils.hpp +++ b/elfio/elfio_utils.hpp @@ -26,6 +26,15 @@ THE SOFTWARE. #include #include +#define ELFIO_GET_ACCESS_DECL( TYPE, NAME ) virtual TYPE get_##NAME() const = 0 + +#define ELFIO_SET_ACCESS_DECL( TYPE, NAME ) \ + virtual void set_##NAME( TYPE value ) = 0 + +#define ELFIO_GET_SET_ACCESS_DECL( TYPE, NAME ) \ + virtual TYPE get_##NAME() const = 0; \ + virtual void set_##NAME( TYPE value ) = 0 + #define ELFIO_GET_ACCESS( TYPE, NAME, FIELD ) \ TYPE get_##NAME() const { return ( *convertor )( FIELD ); } @@ -35,23 +44,14 @@ THE SOFTWARE. FIELD = value; \ FIELD = ( *convertor )( FIELD ); \ } -#define ELFIO_GET_SET_ACCESS( TYPE, NAME, FIELD ) \ - TYPE get_##NAME() const { return ( *convertor )( FIELD ); } \ - void set_##NAME( TYPE value ) \ - { \ - FIELD = value; \ - FIELD = ( *convertor )( FIELD ); \ +#define ELFIO_GET_SET_ACCESS( TYPE, NAME, FIELD ) \ + TYPE get_##NAME() const override { return ( *convertor )( FIELD ); } \ + void set_##NAME( TYPE value ) override \ + { \ + FIELD = value; \ + FIELD = ( *convertor )( FIELD ); \ } -#define ELFIO_GET_ACCESS_DECL( TYPE, NAME ) virtual TYPE get_##NAME() const = 0 - -#define ELFIO_SET_ACCESS_DECL( TYPE, NAME ) \ - virtual void set_##NAME( TYPE value ) = 0 - -#define ELFIO_GET_SET_ACCESS_DECL( TYPE, NAME ) \ - virtual TYPE get_##NAME() const = 0; \ - virtual void set_##NAME( TYPE value ) = 0 - namespace ELFIO { //------------------------------------------------------------------------------