Boost logo

Boost Users :

From: Anil Muthigi (anilmuthigi123_at_[hidden])
Date: 2021-04-07 19:38:28


I said that I am not sure if boost::variant supports __int128 because I had
difficulties in compiling this code :

   1. #include <boost/variant.hpp>
   2. #include <string>
   3. #include <iostream>
   4. std::ostream& operator<<(std::ostream& o, const __int128& x) { if (x
   == std::numeric_limits<__int128>::min()) return o <<
   "-170141183460469231731687303715884105728"; if (x < 0) return o << "-" <<
   -x; if (x < 10) return o << (char)(x + '0'); return o << x / 10 << (char)
   (x % 10 + '0'); }
   5. int main()
   6. {
   7. boost::variant<__int128, char, std::string> v;
   8. v = 56;
   9. v = 'Y';
   10. __int128 d=12;
   11. std::cout <<d << '\n';
   12. std::cout << v << '\n';
   13. v = "Yashaswi raj";
   14. std::cout << v << '\n';
   15. }

If u replace __int128 with int in the variant variable, it seems to work
just fine...

On Thu, 8 Apr 2021, 00:10 Edward Diener via Boost-users, <
boost-users_at_[hidden]> wrote:

> On 4/7/2021 2:15 PM, Anil Muthigi via Boost-users wrote:
> > I dont think so...
>
> If it is available why do you think variant would not support it ?
>
> > I guess int128_t under boost/multiprecision/cpp_int is the only viable
> > option.
> >
> > On Wed, 7 Apr 2021, 11:39 pm David Frank via Boost-users,
> > <boost-users_at_[hidden] <mailto:boost-users_at_[hidden]>>
> wrote:
> >
> > especially the gnu __int128?
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> https://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net