00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SAGA_SPEC_TYPES_HPP
00009 #define SAGA_SPEC_TYPES_HPP
00010
00011 #include <cstddef>
00012 #include <boost/config.hpp>
00013 #include <boost/cstdint.hpp>
00014 #include <sys/types.h>
00015
00017
00019
00020
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 }
00064
00066
00067 #endif // SAGA_SPEC_TYPES_HPP
00068