00001 // This is core/vbl/vbl_bool_ostream.h 00002 #ifndef vbl_bool_ostream_h_ 00003 #define vbl_bool_ostream_h_ 00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE 00005 #pragma interface 00006 #endif 00007 //: 00008 // \file 00009 // 00010 // \verbatim 00011 // Modifications 00012 // PDA (Manchester) 21/03/2001: Tidied up the documentation 00013 // \endverbatim 00014 00015 #include <vcl_iosfwd.h> 00016 00017 class vbl_bool_ostream 00018 { 00019 public: 00020 class on_off 00021 { 00022 public: 00023 on_off(const bool &val) : truth(&val) {} 00024 const bool* truth; 00025 }; 00026 00027 class high_low 00028 { 00029 public: 00030 high_low(const bool &val) : truth(&val) {} 00031 const bool* truth; 00032 }; 00033 00034 class true_false 00035 { 00036 public: 00037 true_false(const bool &val) : truth(&val) {} 00038 const bool* truth; 00039 }; 00040 }; 00041 00042 vcl_ostream& operator<<(vcl_ostream& s, 00043 const vbl_bool_ostream::on_off& proxy); 00044 vcl_ostream& operator<<(vcl_ostream& s, 00045 const vbl_bool_ostream::high_low& proxy); 00046 vcl_ostream& operator<<(vcl_ostream& s, 00047 const vbl_bool_ostream::true_false& proxy); 00048 00049 #endif // vbl_bool_ostream_h_