168,173d167
< template<class T>
< inline ArgList &
< operator<<(ArgList &list, const T &data)
< {
< list.append(data);
< return list;
176,199d169
< inline ArgList &
< operator<<(std::ostream &str, ArgList &list)
< {
< list.stream = &str;
< return list;
< }
<
< class ArgListTemp
< {
< private:
< std::string format;
< ArgList *args;
<
< public:
< ArgListTemp(const std::string &f) : format(f) { args = new ArgList; }
< ~ArgListTemp() { args->dump(format); delete args; }
<
< operator ArgList *() { return args; }
< };
<
< #define cformat(format) \
< (*((cp::ArgList *)cp::ArgListTemp(format)))
< }
<