@@ -30,25 +30,16 @@ class message_handlert
3030
3131 virtual void print (unsigned level, const std::string &message)=0;
3232
33- virtual void print (unsigned level, const xmlt &xml)
34- {
35- // no-op by default
36- }
33+ virtual void print (unsigned level, const xmlt &xml) = 0;
3734
38- virtual void print (unsigned level, const jsont &json)
39- {
40- // no-op by default
41- }
35+ virtual void print (unsigned level, const jsont &json) = 0;
4236
4337 virtual void print (
4438 unsigned level,
4539 const std::string &message,
4640 const source_locationt &location);
4741
48- virtual void flush (unsigned level)
49- {
50- // no-op by default
51- }
42+ virtual void flush (unsigned ) = 0;
5243
5344 virtual ~message_handlert ()
5445 {
@@ -80,18 +71,30 @@ class message_handlert
8071class null_message_handlert :public message_handlert
8172{
8273public:
83- virtual void print (unsigned level, const std::string &message)
74+ void print (unsigned level, const std::string &message) override
8475 {
8576 message_handlert::print (level, message);
8677 }
8778
88- virtual void print (
79+ void print (unsigned , const xmlt &) override
80+ {
81+ }
82+
83+ void print (unsigned , const jsont &) override
84+ {
85+ }
86+
87+ void print (
8988 unsigned level,
9089 const std::string &message,
91- const source_locationt &)
90+ const source_locationt &) override
9291 {
9392 print (level, message);
9493 }
94+
95+ void flush (unsigned ) override
96+ {
97+ }
9598};
9699
97100class stream_message_handlert :public message_handlert
@@ -101,15 +104,23 @@ class stream_message_handlert:public message_handlert
101104 {
102105 }
103106
104- virtual void print (unsigned level, const std::string &message)
107+ void print (unsigned level, const std::string &message) override
105108 {
106109 message_handlert::print (level, message);
107110
108111 if (verbosity>=level)
109112 out << message << ' \n ' ;
110113 }
111114
112- virtual void flush (unsigned level)
115+ void print (unsigned , const xmlt &) override
116+ {
117+ }
118+
119+ void print (unsigned , const jsont &) override
120+ {
121+ }
122+
123+ void flush (unsigned ) override
113124 {
114125 out << std::flush;
115126 }
0 commit comments