00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00029 #ifndef CPPTEST_COMPILEROUTPUT_H
00030 #define CPPTEST_COMPILEROUTPUT_H
00031
00032 #include <iostream>
00033 #include <stdexcept>
00034
00035 #include "cpptest-output.h"
00036
00037 namespace Test
00038 {
00052 class CompilerOutput : public Output
00053 {
00054 public:
00061 class InvalidFormat : public std::logic_error
00062 {
00063 public:
00064 InvalidFormat(const std::string& what)
00065 : std::logic_error(what) {}
00066 };
00067
00070 enum Format
00071 {
00075 Generic,
00076
00081 BCC,
00082
00087 GCC,
00088
00093 MSVC
00094 };
00095
00096 explicit CompilerOutput(Format format = Generic,
00097 std::ostream& stream = std::cout);
00098
00099 explicit CompilerOutput(const std::string& format,
00100 std::ostream& stream = std::cout);
00101
00102 virtual void assertment(const Source& s);
00103
00104 private:
00105 std::string _format;
00106 std::ostream& _stream;
00107 };
00108
00109 }
00110
00111 #endif // #ifndef CPPTEST_COMPILEROUTPUT_H
00112