Beispiel #1
0
value& value::operator=(int64_t val)
{
    if(!tag_)
        set(tag_long(val));
    else switch(tag_->get_type())
    {
    case tag_type::Long:
        static_cast<tag_long&>(*tag_).set(val);
        break;
    case tag_type::Float:
        static_cast<tag_float&>(*tag_).set(val);
        break;
    case tag_type::Double:
        static_cast<tag_double&>(*tag_).set(val);
        break;

    default:
        throw std::bad_cast();
    }
    return *this;
}
value_initializer::value_initializer(int64_t val)           : value(tag_long(val)) {}
Beispiel #3
0
tag_value& tag_value::operator=(std::int64_t x) {
  *this = tag_long(x);
  return *this;
}