type_functions.hppGo to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef ADOBE_ITERATOR_TYPE_FUNCTIONS_HPP
00010 #define ADOBE_ITERATOR_TYPE_FUNCTIONS_HPP
00011
00012 #include <adobe/config.hpp>
00013
00014 #include <iterator>
00015
00016
00017
00018 namespace adobe {
00019
00020
00021
00025 #define ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(type_name) \
00026 template <typename I> \
00027 struct type_name \
00028 { typedef typename std::iterator_traits<I>::type_name type; };
00029
00030 ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(difference_type)
00031 ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(iterator_category)
00032 ADOBE_ITERATOR_TYPE_FUNCTION_BOILERPLATE(value_type)
00033
00034 #define ADOBE_DIFFERENCE_TYPE(I) typename adobe::difference_type<I>::type
00035 #define ADOBE_ITERATOR_CATEGORY(I) typename adobe::iterator_category<I>::type
00036 #define ADOBE_VALUE_TYPE(I) typename adobe::value_type<I>::type
00037
00039
00040
00041
00042 }
00043
00044
00045
00046 #endif
00047
|