
If u see my code, I have used __int128 separately for the variable d as well. If u change the variant variable' s data type from __int128 to int , it will run just fine. On Thu, 8 Apr 2021, 04:30 Edward Diener via Boost-users, < boost-users@lists.boost.org> wrote:
On 4/7/2021 3:38 PM, Anil Muthigi via Boost-users wrote:
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...
My test with gcc-10.2 and clang-linux-11.0 shows that it does not support __int128 in iostreams.
On Thu, 8 Apr 2021, 00:10 Edward Diener via Boost-users, <boost-users@lists.boost.org <mailto:boost-users@lists.boost.org>>
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@lists.boost.org <mailto:boost-users@lists.boost.org> <mailto:boost-users@lists.boost.org <mailto:boost-users@lists.boost.org>>> wrote: > > especially the gnu __int128?
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org <mailto:Boost-users@lists.boost.org> https://lists.boost.org/mailman/listinfo.cgi/boost-users <https://lists.boost.org/mailman/listinfo.cgi/boost-users>
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users