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