Adobe Source Libraries
1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches
type_functions.hpp
Go to the documentation of this file.
1
/*
2
Copyright 2013 Adobe
3
Distributed under the Boost Software License, Version 1.0.
4
(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
*/
6
/**************************************************************************************************/
7
8
#ifndef ADOBE_ITERATOR_TYPE_FUNCTIONS_HPP
9
#define ADOBE_ITERATOR_TYPE_FUNCTIONS_HPP
10
11
#include <
adobe/config.hpp
>
12
13
#include <iterator>
14
15
/**************************************************************************************************/
16
17
namespace
adobe
{
18
19
/**************************************************************************************************/
20
24
#define ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(type_name) \
25
template <typename I>
/*I models InputIterator*/
struct type_name { \
26
typedef typename std::iterator_traits<I>::type_name type; \
27
};
28
29
ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE
(difference_type)
30
ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE
(iterator_category)
31
ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE
(value_type)
32
33
#define ADOBE_DIFFERENCE_TYPE(I) typename adobe::difference_type<I>::type
34
#define ADOBE_ITERATOR_CATEGORY(I) typename adobe::iterator_category<I>::type
35
#define ADOBE_VALUE_TYPE(I) typename adobe::value_type<I>::type
36
38
39
/**************************************************************************************************/
40
41
}
// namespace adobe
42
43
/**************************************************************************************************/
44
45
#endif
46
// ADOBE_ITERATOR_DISTANCE_HPP
config.hpp
ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE
#define ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(type_name)
Definition
type_functions.hpp:24
adobe
Definition
class_template.hpp:7
adobe
iterator
type_functions.hpp
Generated by
1.14.0