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