Boost GIL


color.hpp
1 //
2 // Copyright 2005-2007 Adobe Systems Incorporated
3 //
4 // Distributed under the Boost Software License, Version 1.0
5 // See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt
7 //
8 #ifndef BOOST_GIL_CONCEPTS_COLOR_HPP
9 #define BOOST_GIL_CONCEPTS_COLOR_HPP
10 
11 #include <boost/gil/concepts/concept_check.hpp>
12 
13 #include <boost/type_traits.hpp>
14 
15 #if defined(BOOST_CLANG)
16 #pragma clang diagnostic push
17 #pragma clang diagnostic ignored "-Wunused-local-typedefs"
18 #endif
19 
20 #if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
21 #pragma GCC diagnostic push
22 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
23 #endif
24 
25 namespace boost { namespace gil {
26 
35 template <typename CS>
37 {
38  void constraints()
39  {
40  // An MPL Random Access Sequence, whose elements are color tags
41 
42  // TODO: Is this incomplete?
43  }
44 };
45 
46 // Models ColorSpaceConcept
47 template <typename CS1, typename CS2>
48 struct color_spaces_are_compatible : is_same<CS1, CS2>
49 {
50 };
51 
60 template <typename CS1, typename CS2>
62 {
63  void constraints()
64  {
65  static_assert(color_spaces_are_compatible<CS1, CS2>::value, "");
66  }
67 };
68 
78 template <typename CM>
80 {
81  void constraints()
82  {
83  // An MPL Random Access Sequence, whose elements model
84  // MPLIntegralConstant representing a permutation.
85 
86  // TODO: Is this incomplete?
87  }
88 };
89 
90 }} // namespace boost::gil
91 
92 #if defined(BOOST_CLANG)
93 #pragma clang diagnostic pop
94 #endif
95 
96 #if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
97 #pragma GCC diagnostic pop
98 #endif
99 
100 #endif
Definition: algorithm.hpp:30
Channel mapping concept.
Definition: color.hpp:79
Color space type concept.
Definition: color.hpp:36
Two color spaces are compatible if they are the same.
Definition: color.hpp:61