SAGA Adaptor CPI v.1.0
|
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