예제 #1
0
파일: variant.hpp 프로젝트: FollowMyVote/fc
 static inline void from_variant( const fc::variant& v, T& o, uint32_t max_depth = 1 )
 { 
     if( v.is_string() )
        o = fc::reflector<T>::from_string( v.get_string().c_str() );
     else
        o = fc::reflector<T>::from_int( v.as_int64() );
 }
예제 #2
0
파일: variant.hpp 프로젝트: BitMoneta/fc
 static inline void from_variant( const fc::variant& v, T& o ) 
 { 
     if( v.is_string() )
        o = fc::reflector<T>::from_string( v.get_string().c_str() );
     else 
        o = static_cast<T>(v.as_int64());
 }
예제 #3
0
void check_id_equal( const fc::variant& id_a, const fc::variant& id_b )
{
   BOOST_REQUIRE( id_a.get_type() == id_b.get_type() );

   switch( id_a.get_type() )
   {
      case fc::variant::int64_type:
         BOOST_REQUIRE( id_a.as_int64() == id_b.as_int64() );
         break;
      case fc::variant::uint64_type:
         BOOST_REQUIRE( id_a.as_uint64() == id_b.as_uint64() );
         break;
      case fc::variant::string_type:
         BOOST_REQUIRE( id_a.as_string() == id_b.as_string() );
         break;
      case fc::variant::null_type:
         break;
      default:
         BOOST_REQUIRE( false );
   }
}