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
17namespace 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
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
#define ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(type_name)