Fix compile with microsoft c++ which still doesn't support noexcept

This commit is contained in:
Eric Frias 2015-05-22 16:15:00 -04:00
parent ccd14c7260
commit 043ead5579
3 changed files with 23 additions and 21 deletions

View file

@ -1,5 +1,6 @@
#pragma once
#include <fc/crypto/elliptic.hpp>
#include <boost/config.hpp>
/* public_key_impl implementation based on openssl
* used by mixed + openssl
@ -12,21 +13,21 @@ void _init_lib();
class public_key_impl
{
public:
public_key_impl() noexcept;
public_key_impl( const public_key_impl& cpy ) noexcept;
public_key_impl( public_key_impl&& cpy ) noexcept;
~public_key_impl() noexcept;
public_key_impl() BOOST_NOEXCEPT;
public_key_impl( const public_key_impl& cpy ) BOOST_NOEXCEPT;
public_key_impl( public_key_impl&& cpy ) BOOST_NOEXCEPT;
~public_key_impl() BOOST_NOEXCEPT;
public_key_impl& operator=( const public_key_impl& pk ) noexcept;
public_key_impl& operator=( const public_key_impl& pk ) BOOST_NOEXCEPT;
public_key_impl& operator=( public_key_impl&& pk ) noexcept;
public_key_impl& operator=( public_key_impl&& pk ) BOOST_NOEXCEPT;
static int ECDSA_SIG_recover_key_GFp(EC_KEY *eckey, ECDSA_SIG *ecsig, const unsigned char *msg, int msglen, int recid, int check);
EC_KEY* _key = nullptr;
private:
void free_key() noexcept;
void free_key() BOOST_NOEXCEPT;
};
}}}

View file

@ -1,4 +1,5 @@
#include <fc/fwd_impl.hpp>
#include <boost/config.hpp>
#include "_elliptic_impl_pub.hpp"
@ -7,29 +8,29 @@
namespace fc { namespace ecc {
namespace detail {
public_key_impl::public_key_impl() noexcept
public_key_impl::public_key_impl() BOOST_NOEXCEPT
{
_init_lib();
}
public_key_impl::public_key_impl( const public_key_impl& cpy ) noexcept
public_key_impl::public_key_impl( const public_key_impl& cpy ) BOOST_NOEXCEPT
{
_init_lib();
*this = cpy;
}
public_key_impl::public_key_impl( public_key_impl&& cpy ) noexcept
public_key_impl::public_key_impl( public_key_impl&& cpy ) BOOST_NOEXCEPT
{
_init_lib();
*this = cpy;
}
public_key_impl::~public_key_impl() noexcept
public_key_impl::~public_key_impl() BOOST_NOEXCEPT
{
free_key();
}
public_key_impl& public_key_impl::operator=( const public_key_impl& pk ) noexcept
public_key_impl& public_key_impl::operator=( const public_key_impl& pk ) BOOST_NOEXCEPT
{
if (pk._key == nullptr)
{
@ -42,7 +43,7 @@ namespace fc { namespace ecc {
return *this;
}
public_key_impl& public_key_impl::operator=( public_key_impl&& pk ) noexcept
public_key_impl& public_key_impl::operator=( public_key_impl&& pk ) BOOST_NOEXCEPT
{
if ( this != &pk ) {
free_key();
@ -52,7 +53,7 @@ namespace fc { namespace ecc {
return *this;
}
void public_key_impl::free_key() noexcept
void public_key_impl::free_key() BOOST_NOEXCEPT
{
if( _key != nullptr )
{

View file

@ -21,29 +21,29 @@ namespace fc { namespace ecc {
class private_key_impl
{
public:
private_key_impl() noexcept
private_key_impl() BOOST_NOEXCEPT
{
_init_lib();
}
private_key_impl( const private_key_impl& cpy ) noexcept
private_key_impl( const private_key_impl& cpy ) BOOST_NOEXCEPT
{
_init_lib();
*this = cpy;
}
private_key_impl( private_key_impl&& cpy ) noexcept
private_key_impl( private_key_impl&& cpy ) BOOST_NOEXCEPT
{
_init_lib();
*this = cpy;
}
~private_key_impl() noexcept
~private_key_impl() BOOST_NOEXCEPT
{
free_key();
}
private_key_impl& operator=( const private_key_impl& pk ) noexcept
private_key_impl& operator=( const private_key_impl& pk ) BOOST_NOEXCEPT
{
if (pk._key == nullptr)
{
@ -56,7 +56,7 @@ namespace fc { namespace ecc {
return *this;
}
private_key_impl& operator=( private_key_impl&& pk ) noexcept
private_key_impl& operator=( private_key_impl&& pk ) BOOST_NOEXCEPT
{
if ( this != &pk ) {
free_key();
@ -69,7 +69,7 @@ namespace fc { namespace ecc {
EC_KEY* _key = nullptr;
private:
void free_key() noexcept
void free_key() BOOST_NOEXCEPT
{
if( _key != nullptr )
{