Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/gil/io/typedefs.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //
0002 // Copyright 2007-2008 Christian Henning
0003 //
0004 // Distributed under the Boost Software License, Version 1.0
0005 // See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt
0007 //
0008 #ifndef BOOST_GIL_IO_TYPEDEFS_HPP
0009 #define BOOST_GIL_IO_TYPEDEFS_HPP
0010 
0011 #ifdef BOOST_GIL_IO_ENABLE_GRAY_ALPHA
0012 #include <boost/gil/extension/toolbox/color_spaces/gray_alpha.hpp>
0013 #endif // BOOST_GIL_IO_ENABLE_GRAY_ALPHA
0014 
0015 #include <boost/gil/image.hpp>
0016 #include <boost/gil/point.hpp>
0017 #include <boost/gil/utilities.hpp>
0018 
0019 #include <type_traits>
0020 #include <vector>
0021 
0022 namespace boost { namespace gil {
0023 
0024 struct double_zero { static double apply() { return 0.0; } };
0025 struct double_one  { static double apply() { return 1.0; } };
0026 
0027 using byte_t = unsigned char;
0028 using byte_vector_t = std::vector<byte_t>;
0029 
0030 }} // namespace boost::gil
0031 
0032 namespace boost {
0033 
0034 template<> struct is_floating_point<gil::float32_t> : std::true_type {};
0035 template<> struct is_floating_point<gil::float64_t> : std::true_type {};
0036 
0037 } // namespace boost
0038 
0039 namespace boost { namespace gil {
0040 
0041 ///@todo We should use boost::preprocessor here.
0042 /// TODO: NO! Please do not use preprocessor here! --mloskot
0043 
0044 using gray1_image_t = bit_aligned_image1_type<1, gray_layout_t>::type;
0045 using gray2_image_t = bit_aligned_image1_type<2, gray_layout_t>::type;
0046 using gray4_image_t = bit_aligned_image1_type<4, gray_layout_t>::type;
0047 using gray6_image_t = bit_aligned_image1_type<6, gray_layout_t>::type;
0048 using gray10_image_t = bit_aligned_image1_type<10, gray_layout_t>::type;
0049 using gray12_image_t = bit_aligned_image1_type<12, gray_layout_t>::type;
0050 using gray14_image_t = bit_aligned_image1_type<14, gray_layout_t>::type;
0051 using gray24_image_t = bit_aligned_image1_type<24, gray_layout_t>::type;
0052 
0053 using gray64f_pixel_t = pixel<double, gray_layout_t>;
0054 
0055 #ifdef BOOST_GIL_IO_ENABLE_GRAY_ALPHA
0056 using gray_alpha8_pixel_t = pixel<uint8_t, gray_alpha_layout_t>;
0057 using gray_alpha16_pixel_t = pixel<uint16_t, gray_alpha_layout_t>;
0058 using gray_alpha64f_pixel_t = pixel<double, gray_alpha_layout_t>;
0059 #endif // BOOST_GIL_IO_ENABLE_GRAY_ALPHA
0060 
0061 using rgb64f_pixel_t = pixel<double, rgb_layout_t>;
0062 using rgba64f_pixel_t = pixel<double, rgba_layout_t>;
0063 using gray64f_image_t = image<gray64f_pixel_t, false>;
0064 
0065 #ifdef BOOST_GIL_IO_ENABLE_GRAY_ALPHA
0066 using gray_alpha8_image_t = image<gray_alpha8_pixel_t, false>;
0067 using gray_alpha16_image_t = image<gray_alpha16_pixel_t, false>;
0068 using gray_alpha32f_image_t = image<gray_alpha32f_pixel_t, false>;
0069 using gray_alpha32f_planar_image_t = image<gray_alpha32f_pixel_t, true>;
0070 using gray_alpha64f_image_t = image<gray_alpha64f_pixel_t, false>;
0071 using gray_alpha64f_planar_image_t = image<gray_alpha64f_pixel_t, true>;
0072 
0073 #endif // BOOST_GIL_IO_ENABLE_GRAY_ALPHA
0074 
0075 using rgb64f_image_t = image<rgb64f_pixel_t, false>;
0076 using rgb64f_planar_image_t = image<rgb64f_pixel_t, true>;
0077 using rgba64f_image_t = image<rgba64f_pixel_t, false>;
0078 using rgba64f_planar_image_t = image<rgba64f_pixel_t, true>;
0079 
0080 }} // namespace boost::gil
0081 
0082 #endif