00001 00011 /***************************************************************************** 00012 ** Ifdefs 00013 *****************************************************************************/ 00014 00015 #ifndef ECL_STREAMS_CLEAR_SCREEN_HPP_ 00016 #define ECL_STREAMS_CLEAR_SCREEN_HPP_ 00017 00018 /***************************************************************************** 00019 ** Includes 00020 *****************************************************************************/ 00021 00022 #include <ecl/config/macros.hpp> 00023 #include "../manipulators.hpp" 00024 #include "../text_stream.hpp" 00025 #include "../macros.hpp" 00026 00027 /***************************************************************************** 00028 ** Namespaces 00029 *****************************************************************************/ 00030 00031 namespace ecl { 00032 00033 /***************************************************************************** 00034 ** Interface [ClearScreen] 00035 *****************************************************************************/ 00048 class ecl_streams_PUBLIC ClearScreen : public Manipulator<ClearScreen> { 00049 public: 00063 template <typename ODevice> 00064 void action (interfaces::OutputTextStream<ODevice,true>& ostream) { 00065 for (int i = 0; i < 80; ++i ) { 00066 ostream << "\n"; 00067 } 00068 } 00069 virtual ~ClearScreen() {} 00070 }; 00071 00072 /***************************************************************************** 00073 ** Global Variables 00074 *****************************************************************************/ 00075 00076 extern ClearScreen clrscr; 00077 00078 } // namespace ecl 00079 00080 00081 #endif /* ECL_STREAMS_CLEAR_SCREEN_HPP_ */