Boost logo

Boost :

From: Igor Mikushkin (igor.mikushkin_at_[hidden])
Date: 2007-12-25 01:20:49


2007/12/24, Igor Mikushkin <igor.mikushkin_at_[hidden]>:
> I suppose it is not too hard to implement other
> needed integer types (like _int64, _int128 on Microsoft and Intel compilers)
> using types from boost/cstdint.hpp file.

Sorry, there are no __int128 type.

I suppose the subject can be done in this way

namespace boost {
  namespace {
    template <int X> struct int_helper {
      typedef typename int_helper <X + 1> :: type type;
    };

    template <> struct int_helper < sizeof (int8) > { typedef int8 type; };
    template <> struct int_helper < sizeof (int16) > { typedef int16 type; };
    template <> struct int_helper < sizeof (int32) > { typedef int32 type; };
#ifndef BOOST_NO_INT64
    template <> struct int_helper < sizeof (int64) > { typedef int64 type; };
#endif
  }

  template <int X> struct int_t {
    typedef typename int_helper <(X - 1) / 8 + 1> :: type type;
  };
};


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk