core/vbl/vbl_bool_ostream.h
Go to the documentation of this file.
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_