Mirror reflection library 0.5.13
|
00001 00010 #ifndef MIRROR_CT_STRING_SLICE_1105240825_HPP 00011 #define MIRROR_CT_STRING_SLICE_1105240825_HPP 00012 00013 #include <mirror/ct_string/default.hpp> 00014 #include <mirror/ct_string/head.hpp> 00015 #include <mirror/ct_string/tail.hpp> 00016 00017 MIRROR_NAMESPACE_BEGIN 00018 namespace cts { 00019 00020 #ifndef MIRROR_DOCUMENTATION_ONLY 00021 00022 template <typename CTString, typename Start, typename Length> 00023 struct slice 00024 : tail< 00025 head< 00026 CTString, 00027 std::integral_constant< 00028 int, 00029 Start::value + Length::value 00030 > 00031 >, 00032 Length 00033 > { }; 00034 00035 template <typename CTString, int Start, int Length> 00036 struct slice_c 00037 : slice< 00038 CTString, 00039 std::integral_constant<int, Start>, 00040 std::integral_constant<int, Length> 00041 > { }; 00042 00043 #endif 00044 00045 } // namespace cts 00046 MIRROR_NAMESPACE_END 00047 00048 #endif //include guard 00049