tostr.hpp

Go to the documentation of this file.
00001 #ifndef IOF_TOSTR_H
00002 #define IOF_TOSTR_H
00003 
00016 #include "iof/prints.hpp"
00017 
00018 namespace iof 
00019 {
00020 
00021 #define GET_STR_FROM_PRINT(printsFmtObj) \
00022     std::ostringstream out; \
00023     printsFmtObj;           \
00024     return out.str();
00025     
00026 
00028 inline
00029 std::string tostr(const char* msg)
00030 {
00031     return msg;
00032 }
00033 
00034 
00036 inline
00037 std::string tostr(const std::string& msg)
00038 {
00039     return msg;
00040 }
00041 
00042 
00044 template <typename TT>
00045 inline
00046 std::string tostr(const TT& msg)
00047 {
00048     GET_STR_FROM_PRINT( prints(out, msg) );
00049 }
00050 
00051 
00052 template <typename T1>
00053 inline
00054 std::string tostr(const char* fmt, const T1& obj)
00055 {
00056     GET_STR_FROM_PRINT( prints(out, fmt, obj) );
00057 }
00058 
00059 
00060 template <typename T1, typename T2>
00061 inline
00062 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2)
00063 {
00064     GET_STR_FROM_PRINT( prints(out, fmt, obj1, obj2) );
00065 }
00066 
00067 
00068 template <typename T1, typename T2, typename T3>
00069 inline
00070 std::string tostr(const char* fmt,
00071 const T1& obj1, const T2& obj2, const T3& obj3)
00072 {
00073     GET_STR_FROM_PRINT( prints(out, fmt, obj1, obj2, obj3) );
00074 }
00075 
00076 
00077 template <typename T1, typename T2, typename T3, typename T4>
00078 inline
00079 std::string tostr(const char* fmt,
00080 const T1& obj1, const T2& obj2, const T3& obj3, const T4& obj4)
00081 {
00082     GET_STR_FROM_PRINT( prints(out, fmt, obj1, obj2, obj3, obj4) );
00083 }
00084 
00085 
00086 template <typename T1, typename T2, typename T3, typename T4, typename T5>
00087 inline
00088 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2,
00089 const T3& obj3, const T4& obj4, const T5& obj5)
00090 {
00091     GET_STR_FROM_PRINT( prints(out, fmt, obj1, obj2, obj3, obj4, obj5) );
00092 }
00093 
00094 
00095 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00096     typename T6>
00097 inline
00098 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2,
00099 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6)
00100 {
00101     GET_STR_FROM_PRINT( 
00102         prints(out, fmt, obj1, obj2, obj3, obj4, obj5, obj6)  );
00103 }
00104 
00105 
00106 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00107     typename T6, typename T7>
00108 inline
00109 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2,
00110 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7)
00111 {
00112     GET_STR_FROM_PRINT(
00113         prints(out, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7) );
00114 }
00115 
00116 
00117 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00118     typename T6, typename T7, typename T8>
00119 inline
00120 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2,
00121 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7, 
00122 const T8& obj8)
00123 {
00124     GET_STR_FROM_PRINT( 
00125         prints(out, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8) );
00126 }
00127 
00128 
00129 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00130     typename T6, typename T7, typename T8, typename T9>
00131 inline
00132 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2,
00133 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7, 
00134 const T8& obj8, const T9& obj9)
00135 {
00136     GET_STR_FROM_PRINT(
00137         prints(out, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9) );
00138 }
00139 
00140 
00141 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00142     typename T6, typename T7, typename T8, typename T9, typename T10>
00143 inline
00144 std::string tostr(const char* fmt, const T1& obj1, const T2& obj2,
00145 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7, 
00146 const T8& obj8, const T9& obj9, const T10& obj10)
00147 {
00148     GET_STR_FROM_PRINT(
00149         prints(out, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9, obj10) );
00150 }
00151 
00152 } // namespace iof
00153 
00154 #endif // IOF_TOSTR_H
00155 

Generated on Fri Nov 24 16:16:01 2006 for IOF Library by doxygen 1.5.1-p1
Thanks to SourceForge.net Logo for hosting