00001 /* @HEADER@ */ 00002 // 00003 /* @HEADER@ */ 00004 00005 #ifndef PLAYA_PRINTABLE_HPP 00006 #define PLAYA_PRINTABLE_HPP 00007 00008 #include "PlayaDefs.hpp" 00009 #include <iostream> 00010 00011 namespace Playa 00012 { 00013 /** 00014 * Printable defines an interface for writing an object to a stream. 00015 * 00016 * @author Kevin Long (kevin.long@ttu.edu) 00017 */ 00018 class Printable 00019 { 00020 public: 00021 /** virtual dtor */ 00022 virtual ~Printable() {;} 00023 00024 /** abstract print function */ 00025 virtual void print(std::ostream& os) const = 0 ; 00026 }; 00027 } 00028 00029 00030 #endif