Mirror reflection library 0.5.13
|
00001 00010 #ifndef MIRROR_META_PROG_ITER_INFO_1103161403_HPP 00011 #define MIRROR_META_PROG_ITER_INFO_1103161403_HPP 00012 00013 MIRROR_NAMESPACE_BEGIN 00014 namespace mp { 00015 namespace aux { 00016 00017 // Helper structure containing info about range element iteration 00018 template < 00019 typename T, 00020 typename IsFirst, 00021 typename IsLast 00022 > 00023 struct iteration_info 00024 { 00025 // The current item in the tranversed range 00026 typedef T type; 00027 00028 // compile time boolean constant indicating if 00029 // this is the first or the last item in the 00030 // traversed range 00031 typedef IsFirst is_first; 00032 typedef IsLast is_last; 00033 }; 00034 00035 00036 } // namespace aux 00037 } // namespace mp 00038 MIRROR_NAMESPACE_END 00039 00040 #endif //include guard 00041