Mirror reflection library 0.5.13

mirror/ct_string/slice.hpp

Go to the documentation of this file.
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 

Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.