mirror of
https://github.com/serge1/ELFIO.git
synced 2025-03-20 04:21:25 +00:00
modernize-use-override
This commit is contained in:
parent
4a84319bb8
commit
da4f857e07
@ -101,7 +101,7 @@ template <class T> 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<char*>( &header ), sizeof( header ) );
|
||||
@ -110,7 +110,7 @@ template <class T> 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<const char*>( &header ),
|
||||
|
@ -85,7 +85,7 @@ template <class T> class section_impl : public section
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
~section_impl() { delete[] data; }
|
||||
~section_impl() override { delete[] data; }
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Section info functions
|
||||
@ -100,16 +100,16 @@ template <class T> 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 T> 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 T> 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 T> 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 T> 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<char*>( &header ), sizeof( header ),
|
||||
'\0' );
|
||||
@ -218,7 +218,7 @@ template <class T> 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 T> 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:
|
||||
|
@ -79,7 +79,7 @@ template <class T> class segment_impl : public segment
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
virtual ~segment_impl() { delete[] data; }
|
||||
~segment_impl() override { delete[] data; }
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Section info functions
|
||||
@ -100,13 +100,13 @@ template <class T> 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 T> 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 T> 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 T> 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<Elf_Half>& get_sections() const { return sections; }
|
||||
const std::vector<Elf_Half>& 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 T> 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 );
|
||||
|
@ -26,6 +26,15 @@ THE SOFTWARE.
|
||||
#include <cstdint>
|
||||
#include <ostream>
|
||||
|
||||
#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 {
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user