00001 // This is mul/clsfy/clsfy_builder_base.cxx 00002 // Copyright: (C) 2000 British Telecommunications plc 00003 #include "clsfy_builder_base.h" 00004 //: 00005 // \file 00006 // \brief Implement bits of an abstract classifier builder 00007 // \author Ian Scott 00008 // \date 2000/05/10 00009 // \verbatim 00010 // Modifications 00011 // 2 May 2001 IMS Converted to VXL 00012 // \endverbatim 00013 00014 00015 //======================================================================= 00016 00017 #include <vsl/vsl_indent.h> 00018 #include <vsl/vsl_binary_loader.h> 00019 00020 //======================================================================= 00021 00022 clsfy_builder_base::clsfy_builder_base() 00023 { 00024 } 00025 00026 //======================================================================= 00027 00028 clsfy_builder_base::~clsfy_builder_base() 00029 { 00030 } 00031 00032 00033 //======================================================================= 00034 00035 void vsl_add_to_binary_loader(const clsfy_builder_base& b) 00036 { 00037 vsl_binary_loader<clsfy_builder_base>::instance().add(b); 00038 } 00039 00040 //======================================================================= 00041 00042 vcl_string clsfy_builder_base::is_a() const 00043 { 00044 return vcl_string("clsfy_builder_base"); 00045 } 00046 00047 //======================================================================= 00048 00049 bool clsfy_builder_base::is_class(vcl_string const& s) const 00050 { 00051 return s == clsfy_builder_base::is_a(); 00052 } 00053 00054 //======================================================================= 00055 00056 void vsl_b_write(vsl_b_ostream& os, const clsfy_builder_base& b) 00057 { 00058 b.b_write(os); 00059 } 00060 00061 //======================================================================= 00062 00063 void vsl_b_read(vsl_b_istream& bfs, clsfy_builder_base& b) 00064 { 00065 b.b_read(bfs); 00066 } 00067 00068 //======================================================================= 00069 00070 vcl_ostream& operator<<(vcl_ostream& os,const clsfy_builder_base& b) 00071 { 00072 os << b.is_a() << ": "; 00073 vsl_indent_inc(os); 00074 b.print_summary(os); 00075 vsl_indent_dec(os); 00076 return os; 00077 } 00078 00079 //======================================================================= 00080 00081 void vsl_print_summary(vcl_ostream& os,const clsfy_builder_base* b) 00082 { 00083 if (b) 00084 os << *b; 00085 else 00086 os << "No clsfy_builder_base defined."; 00087 } 00088 00089 //======================================================================= 00090 00091 vcl_ostream& operator<<(vcl_ostream& os,const clsfy_builder_base* b) 00092 { 00093 vsl_print_summary(os, b); 00094 return os; 00095 } 00096
1.5.1