diff --git a/include/fc/static_variant.hpp b/include/fc/static_variant.hpp index 3db2bdf..048fecf 100644 --- a/include/fc/static_variant.hpp +++ b/include/fc/static_variant.hpp @@ -111,27 +111,27 @@ struct storage_ops { template struct storage_ops { static void del(int n, void *data) { - FC_ASSERT( !"Internal error: static_variant tag is invalid."); + FC_THROW_EXCEPTION( fc::assert_exception, "Internal error: static_variant tag is invalid."); } static void con(int n, void *data) { - FC_ASSERT( !"Internal error: static_variant tag is invalid." ); + FC_THROW_EXCEPTION( fc::assert_exception, "Internal error: static_variant tag is invalid." ); } template static typename visitor::result_type apply(int n, void *data, visitor& v) { - FC_ASSERT( !"Internal error: static_variant tag is invalid." ); + FC_THROW_EXCEPTION( fc::assert_exception, "Internal error: static_variant tag is invalid." ); } template static typename visitor::result_type apply(int n, void *data, const visitor& v) { - FC_ASSERT( !"Internal error: static_variant tag is invalid." ); + FC_THROW_EXCEPTION( fc::assert_exception, "Internal error: static_variant tag is invalid." ); } template static typename visitor::result_type apply(int n, const void *data, visitor& v) { - FC_ASSERT( !"Internal error: static_variant tag is invalid." ); + FC_THROW_EXCEPTION( fc::assert_exception, "Internal error: static_variant tag is invalid." ); } template static typename visitor::result_type apply(int n, const void *data, const visitor& v) { - FC_ASSERT( !"Internal error: static_variant tag is invalid." ); + FC_THROW_EXCEPTION( fc::assert_exception, "Internal error: static_variant tag is invalid." ); } }; @@ -278,8 +278,7 @@ public: if(_tag == impl::position::pos) { return *reinterpret_cast(storage); } else { - FC_ASSERT( !"static_variant does not contain a value of type", - "type ${t}", ("t",fc::get_typename::name()) ); + FC_THROW_EXCEPTION( fc::assert_exception, "static_variant does not contain a value of type ${t}", ("t",fc::get_typename::name()) ); // std::string("static_variant does not contain value of type ") + typeid(X).name() // ); } @@ -293,8 +292,7 @@ public: if(_tag == impl::position::pos) { return *reinterpret_cast(storage); } else { - FC_ASSERT( !"static_variant does not contain a value of type", - "type ${t}", ("t",fc::get_typename::name()) ); + FC_THROW_EXCEPTION( fc::assert_exception, "static_variant does not contain a value of type ${t}", ("t",fc::get_typename::name()) ); } } template diff --git a/src/variant.cpp b/src/variant.cpp index c9a1f60..7b73771 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -788,7 +788,7 @@ string format_string( const string& format, const variant_object& args ) variants result; result.reserve( std::max(aa.size(),ba.size()) ); auto num = std::max(aa.size(),ba.size()); - for( uint64_t i = 0; i < num; ++i ) + for( unsigned i = 0; i < num; ++i ) { if( aa.size() > i && ba.size() > i ) result[i] = aa[i] + ba[i]; @@ -815,7 +815,7 @@ string format_string( const string& format, const variant_object& args ) variants result; result.reserve( std::max(aa.size(),ba.size()) ); auto num = std::max(aa.size(),ba.size()); - for( uint64_t i = 0; i < num; --i ) + for( unsigned i = 0; i < num; --i ) { if( aa.size() > i && ba.size() > i ) result[i] = aa[i] - ba[i]; @@ -844,7 +844,7 @@ string format_string( const string& format, const variant_object& args ) variants result; result.reserve( std::max(aa.size(),ba.size()) ); auto num = std::max(aa.size(),ba.size()); - for( uint64_t i = 0; i < num; ++i ) + for( unsigned i = 0; i < num; ++i ) { if( aa.size() > i && ba.size() > i ) result[i] = aa[i] * ba[i]; @@ -869,7 +869,7 @@ string format_string( const string& format, const variant_object& args ) variants result; result.reserve( std::max(aa.size(),ba.size()) ); auto num = std::max(aa.size(),ba.size()); - for( uint64_t i = 0; i < num; ++i ) + for( unsigned i = 0; i < num; ++i ) { if( aa.size() > i && ba.size() > i ) result[i] = aa[i] / ba[i];