Skip to content

Commit

Permalink
Remove empty destructors (redundant since C++11) (#104)
Browse files Browse the repository at this point in the history
* Use BOOST_DEFAULTED_FUNCTION on empty destructors

The compiler-generated copy constructor and copy assignment operator are deprecated since C++11 on classes with user-declared destructors.

This change allows clean compilation with the -Wdeprecated-copy-dtor/-Wdeprecated-copy-with-user-provided-dtor flag.

* require C++11

* Remove dtor declarations entirely

the default dtor is fine
  • Loading branch information
ecatmur committed Nov 21, 2023
1 parent cbe02b0 commit 30319d6
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 26 deletions.
12 changes: 0 additions & 12 deletions include/boost/property_tree/detail/exception_implementation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ namespace boost { namespace property_tree
{
}

inline ptree_error::~ptree_error() throw()
{
}

///////////////////////////////////////////////////////////////////////////
// ptree_bad_data

Expand All @@ -48,10 +44,6 @@ namespace boost { namespace property_tree
{
}

inline ptree_bad_data::~ptree_bad_data() throw()
{
}

template<class D> inline
D ptree_bad_data::data() const
{
Expand All @@ -68,10 +60,6 @@ namespace boost { namespace property_tree

}

inline ptree_bad_path::~ptree_bad_path() throw()
{
}

template<class P> inline
P ptree_bad_path::path() const
{
Expand Down
8 changes: 1 addition & 7 deletions include/boost/property_tree/detail/file_parser_error.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace boost { namespace property_tree
public:

///////////////////////////////////////////////////////////////////////
// Construction & destruction
// Construction

// Construct error
file_parser_error(const std::string &msg,
Expand All @@ -34,12 +34,6 @@ namespace boost { namespace property_tree
{
}

~file_parser_error() throw() BOOST_OVERRIDE
// gcc 3.4.2 complains about lack of throw specifier on compiler
// generated dtor
{
}

///////////////////////////////////////////////////////////////////////
// Data access

Expand Down
2 changes: 1 addition & 1 deletion include/boost/property_tree/detail/rapidxml.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ namespace boost { namespace property_tree { namespace detail {namespace rapidxml

//! Gets human readable description of error.
//! \return Pointer to null terminated description of the error.
const char *what() const throw() BOOST_OVERRIDE
const char *what() const throw() override
{
return m_what;
}
Expand Down
6 changes: 0 additions & 6 deletions include/boost/property_tree/exceptions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ namespace boost { namespace property_tree
/// Instantiate a ptree_error instance with the given message.
/// @param what The message to associate with this error.
ptree_error(const std::string &what);

~ptree_error() throw() BOOST_OVERRIDE;
};


Expand All @@ -48,8 +46,6 @@ namespace boost { namespace property_tree
template<class T> ptree_bad_data(const std::string &what,
const T &data);

~ptree_bad_data() throw() BOOST_OVERRIDE;

/// Retrieve the data associated with this error. This is the source
/// value that failed to be translated. You need to explicitly
/// specify its type.
Expand All @@ -70,8 +66,6 @@ namespace boost { namespace property_tree
template<class T> ptree_bad_path(const std::string &what,
const T &path);

~ptree_bad_path() throw() BOOST_OVERRIDE;

/// Retrieve the invalid path. You need to explicitly specify the
/// type of path.
template<class T> T path() const;
Expand Down

0 comments on commit 30319d6

Please sign in to comment.