Mirror reflection library 0.5.13

mirror/ct_string/concat.hpp

Go to the documentation of this file.
00001 
00010 #ifndef MIRROR_CT_STRING_CONCAT_1105240825_HPP
00011 #define MIRROR_CT_STRING_CONCAT_1105240825_HPP
00012 
00013 #include <mirror/ct_string/default.hpp>
00014 
00015 MIRROR_NAMESPACE_BEGIN
00016 namespace cts {
00017 
00018 template <typename Char, Char ... C>
00019 struct concat<basic_string<Char, C...> >
00020 {
00021     typedef basic_string<Char, C...> type;
00022 };
00023 
00024 template <typename Char, Char ... C1, Char ... C2>
00025 struct concat<basic_string<Char, C1...>, basic_string<Char, C2...> >
00026 {
00027     typedef basic_string<Char, C1..., C2...> type;
00028 };
00029 
00030 template <
00031     typename CTString1,
00032     typename CTString2,
00033     typename CTString3,
00034     typename ... CTStrings
00035 > struct concat<
00036     CTString1,
00037     CTString2,
00038     CTString3,
00039     CTStrings...
00040 >
00041 {
00042     typedef typename concat<
00043         typename concat<CTString1, CTString2>::type,
00044         CTString3,
00045         CTStrings...
00046     >::type type;
00047 };
00048 
00049 } // namespace cts
00050 MIRROR_NAMESPACE_END
00051 
00052 #endif //include guard
00053 

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.