Import Geant4 9.5.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:46:55 +02:00
parent 89a9605df1
commit b1eb5424d2
10957 changed files with 888481 additions and 160139 deletions
@@ -0,0 +1,63 @@
// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.
#ifndef tools_wroot_bufobj
#define tools_wroot_bufobj
// inheritance :
#include "iobject"
#include "buffer"
namespace tools {
namespace wroot {
class bufobj : public virtual iobject,public buffer {
public:
static const std::string& s_class() {
static const std::string s_v("tools::wroot::bufobj");
return s_v;
}
public:
virtual const std::string& name() const {return m_name;}
virtual const std::string& title() const {return m_title;}
virtual const std::string& store_class_name() const {
return m_store_cls;
}
virtual bool stream(buffer& a_buffer) const {
return a_buffer.write_fast_array(m_buffer,length());
}
public:
bufobj(std::ostream& a_out,bool a_byte_swap,uint32 a_size,
const std::string& a_name,
const std::string& a_title,
const std::string& a_store_cls)
: buffer(a_out,a_byte_swap,a_size)
,m_name(a_name)
,m_title(a_title)
,m_store_cls(a_store_cls)
{
#ifdef TOOLS_MEM
mem::increment(s_class().c_str());
#endif
}
virtual ~bufobj(){
#ifdef TOOLS_MEM
mem::decrement(s_class().c_str());
#endif
}
protected:
bufobj(const bufobj& a_from): iobject(a_from),buffer(a_from){
#ifdef TOOLS_MEM
mem::increment(s_class().c_str());
#endif
}
bufobj& operator=(const bufobj &){return *this;}
protected:
std::string m_name;
std::string m_title;
std::string m_store_cls;
};
}}
#endif