00001 #ifndef IOF_CERRF_H
00002 #define IOF_CERRF_H
00003
00016 #include "iof/prints.hpp"
00017
00018
00019 namespace iof
00020 {
00021
00023 template <typename TT>
00024 inline
00025 void cerrf(const TT& msg)
00026 {
00027 prints(std::cerr, msg);
00028 }
00029
00030
00033 template <typename T1>
00034 inline
00035 void cerrf(const char* fmt, const T1& obj)
00036 {
00037 prints(std::cerr, fmt, obj);
00038 }
00039
00040
00041 template <typename T1, typename T2>
00042 inline
00043 void cerrf(const char* fmt, const T1& obj1, const T2& obj2)
00044 {
00045 prints(std::cerr, fmt, obj1, obj2);
00046 }
00047
00048
00049 template <typename T1, typename T2, typename T3>
00050 inline
00051 void cerrf(const char* fmt,
00052 const T1& obj1, const T2& obj2, const T3& obj3)
00053 {
00054 prints(std::cerr, fmt, obj1, obj2, obj3);
00055 }
00056
00057
00058 template <typename T1, typename T2, typename T3, typename T4>
00059 inline
00060 void cerrf(const char* fmt,
00061 const T1& obj1, const T2& obj2, const T3& obj3, const T4& obj4)
00062 {
00063 prints(std::cerr, fmt, obj1, obj2, obj3, obj4);
00064 }
00065
00066
00067 template <typename T1, typename T2, typename T3, typename T4, typename T5>
00068 inline
00069 void cerrf(const char* fmt, const T1& obj1, const T2& obj2,
00070 const T3& obj3, const T4& obj4, const T5& obj5)
00071 {
00072 prints(std::cerr, fmt, obj1, obj2, obj3, obj4, obj5);
00073 }
00074
00075
00076 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00077 typename T6>
00078 inline
00079 void cerrf(const char* fmt, const T1& obj1, const T2& obj2,
00080 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6)
00081 {
00082 prints(std::cerr, fmt, obj1, obj2, obj3, obj4, obj5, obj6);
00083 }
00084
00085
00086 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00087 typename T6, typename T7>
00088 inline
00089 void cerrf(const char* fmt, const T1& obj1, const T2& obj2,
00090 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7)
00091 {
00092 prints(std::cerr, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7);
00093 }
00094
00095
00096 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00097 typename T6, typename T7, typename T8>
00098 inline
00099 void cerrf(const char* fmt, const T1& obj1, const T2& obj2,
00100 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7,
00101 const T8& obj8)
00102 {
00103 prints(std::cerr, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8);
00104 }
00105
00106
00107 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00108 typename T6, typename T7, typename T8, typename T9>
00109 inline
00110 void cerrf(const char* fmt, const T1& obj1, const T2& obj2,
00111 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7,
00112 const T8& obj8, const T9& obj9)
00113 {
00114 prints(std::cerr, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9);
00115 }
00116
00117
00118 template <typename T1, typename T2, typename T3, typename T4, typename T5,
00119 typename T6, typename T7, typename T8, typename T9, typename T10>
00120 inline
00121 void cerrf(const char* fmt, const T1& obj1, const T2& obj2,
00122 const T3& obj3, const T4& obj4, const T5& obj5, const T6& obj6, const T7& obj7,
00123 const T8& obj8, const T9& obj9, const T10& obj10)
00124 {
00125 prints(std::cerr, fmt, obj1, obj2, obj3, obj4, obj5, obj6, obj7, obj8, obj9, obj10);
00126 }
00127
00128 }
00129
00130 #endif // IOF_CERRF_H
00131