Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/Geant4/tools/sg/write_action is written in an unsupported language. File is not indexed.

0001 // Copyright (C) 2010, Guy Barrand. All rights reserved.
0002 // See the file tools.license for terms.
0003 
0004 #ifndef tools_sg_write_action
0005 #define tools_sg_write_action
0006 
0007 #include "action"
0008 
0009 namespace tools {
0010 namespace sg {
0011   class node;
0012 }}
0013 namespace tools {
0014 namespace io {
0015   class iwbuf;
0016 }}
0017 
0018 namespace tools {
0019 namespace sg {
0020 
0021 class write_action : public action {
0022   TOOLS_ACTION_NO_COPY(write_action,tools::sg::write_action,action)
0023 public:
0024   virtual io::iwbuf& buffer() = 0;
0025   virtual bool beg_node(const node&) = 0;
0026   virtual bool end_node(const node&) = 0;
0027 
0028   virtual bool switch_do_all_children() {return true;}
0029   virtual unsigned int protocol() const = 0;
0030 public:
0031   write_action(std::ostream& a_out)
0032   :parent(a_out){}
0033   virtual ~write_action(){}
0034 protected:
0035   write_action(const write_action& a_from)
0036   :parent(a_from)
0037   {}
0038   write_action& operator=(const write_action& a_from){
0039     parent::operator=(a_from);
0040     return *this;
0041   }
0042 };
0043 
0044 }}
0045 
0046 #endif