]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/gil/concepts/dynamic_step.hpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / boost / gil / concepts / dynamic_step.hpp
CommitLineData
92f5a8d4
TL
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_DYNAMIC_STEP_HPP
9#define BOOST_GIL_CONCEPTS_DYNAMIC_STEP_HPP
10
11#include <boost/gil/concepts/fwd.hpp>
12#include <boost/gil/concepts/concept_check.hpp>
13
14#if defined(BOOST_CLANG)
15#pragma clang diagnostic push
f67539c2 16#pragma clang diagnostic ignored "-Wunknown-pragmas"
92f5a8d4
TL
17#pragma clang diagnostic ignored "-Wunused-local-typedefs"
18#endif
19
20#if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
21#pragma GCC diagnostic push
22#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
23#endif
24
25namespace boost { namespace gil {
26
27/// \ingroup PixelIteratorConcept
28/// \brief Concept for iterators, locators and views that can define a type just like the given
29/// iterator, locator or view, except it supports runtime specified step along the X navigation.
30///
31/// \code
32/// concept HasDynamicXStepTypeConcept<typename T>
33/// {
34/// typename dynamic_x_step_type<T>;
35/// where Metafunction<dynamic_x_step_type<T> >;
36/// };
37/// \endcode
38template <typename T>
39struct HasDynamicXStepTypeConcept
40{
41 void constraints()
42 {
43 using type = typename dynamic_x_step_type<T>::type;
44 ignore_unused_variable_warning(type{});
45 }
46};
47
48/// \ingroup PixelLocatorConcept
49/// \brief Concept for locators and views that can define a type just like the given locator or view,
50/// except it supports runtime specified step along the Y navigation
51/// \code
52/// concept HasDynamicYStepTypeConcept<typename T>
53/// {
54/// typename dynamic_y_step_type<T>;
55/// where Metafunction<dynamic_y_step_type<T> >;
56/// };
57/// \endcode
58template <typename T>
59struct HasDynamicYStepTypeConcept
60{
61 void constraints()
62 {
63 using type = typename dynamic_y_step_type<T>::type;
64 ignore_unused_variable_warning(type{});
65 }
66};
67
68}} // namespace boost::gil
69
70#if defined(BOOST_CLANG)
71#pragma clang diagnostic pop
72#endif
73
74#if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
75#pragma GCC diagnostic pop
76#endif
77
78#endif