- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Search for |

# types.hpp

Go to the documentation of this file.

    00001 //  Copyright (c) 2005-2006 Andre Merzky (andre@merzky.net)
    00002 //  Copyright (c) 2005-2006 Hartmut Kaiser
    00003 //
    00004 //  Use, modification and distribution is subject to the Boost Software
    00005 //  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
    00006 //  http://www.boost.org/LICENSE_1_0.txt)
    00007
    00008 #ifndef SAGA_SPEC_TYPES_HPP
    00009 #define SAGA_SPEC_TYPES_HPP
    00010
    00011 #include <cstddef>              // std::size_t
    00012 #include <boost/config.hpp>
    00013 #include <boost/cstdint.hpp>    // boost::
    00014 #include <sys/types.h>          // ::off_t, ::ssize_t
    00015
    00017
    00019
    00020 // ssize_t isn't defined for the MS compilers
    00021 #if defined (BOOST_MSVC)
    00022
    00023 #ifndef _SSIZE_T_DEFINED
    00024 # ifdef   WIN64
    00025    typedef signed __int64    ssize_t;
    00026 # else
    00027    typedef _W64 signed int   ssize_t;
    00028 # endif
    00029 # define  _SSIZE_T_DEFINED
    00030 #endif // _SSIZE_T_DEFINED
    00031
    00032 #endif
    00033
    00035 namespace saga
    00036 {
    00037   typedef char                    char_t;
    00038
    00039   typedef boost::int8_t           int8_t;
    00040   typedef boost::uint8_t          uint8_t;
    00041
    00042   typedef boost::int16_t          int16_t;
    00043   typedef boost::uint16_t         uint16_t;
    00044
    00045   typedef boost::int32_t          int32_t;
    00046   typedef boost::uint32_t         uint32_t;
    00047
    00048 # ifndef  BOOST_NO_INT64_T
    00049   typedef boost::int64_t          int64_t;
    00050   typedef boost::uint64_t         uint64_t;
    00051 # endif
    00052
    00053   typedef boost::intmax_t         intmax_t;
    00054   typedef boost::uintmax_t        uintmax_t;
    00055
    00056   typedef boost::long_long_type   long_long_t;
    00057
    00058   typedef std::size_t             size_t;
    00059   typedef ::ssize_t               ssize_t;
    00060   typedef ::off_t                 off_t;
    00061
    00062 } // namespace saga
    00064
    00066
    00067 #endif // SAGA_SPEC_TYPES_HPP
    00068