diff --git a/elfio/elfio_section.hpp b/elfio/elfio_section.hpp index 07c3871..7aeb0d2 100644 --- a/elfio/elfio_section.hpp +++ b/elfio/elfio_section.hpp @@ -55,6 +55,8 @@ class section virtual void set_data( const std::string& data ) = 0; virtual void append_data( const char* pData, Elf_Word size ) = 0; virtual void append_data( const std::string& data ) = 0; + virtual size_t get_stream_size() const = 0; + virtual void set_stream_size( size_t value ) = 0; protected: ELFIO_SET_ACCESS_DECL( Elf64_Off, offset ); @@ -178,6 +180,12 @@ template class section_impl : public section return append_data( str_data.c_str(), (Elf_Word)str_data.size() ); } + //------------------------------------------------------------------------------ + size_t get_stream_size() const override { return stream_size; } + + //------------------------------------------------------------------------------ + void set_stream_size( size_t value ) override { stream_size = value; } + //------------------------------------------------------------------------------ protected: //------------------------------------------------------------------------------ @@ -238,12 +246,6 @@ template class section_impl : public section } } - //------------------------------------------------------------------------------ - size_t get_stream_size() const { return stream_size; } - - //------------------------------------------------------------------------------ - void set_stream_size( size_t value ) { stream_size = value; } - //------------------------------------------------------------------------------ private: //------------------------------------------------------------------------------