Go to the documentation of this file.
4 #ifndef tools_rroot_iros
5 #define tools_rroot_iros
17 class iros :
public virtual iro,
protected std::vector<iro*> {
18 typedef std::vector<iro*> parent;
21 static const std::string s_v(
"TObjArray");
26 static const std::string s_v(
"tools::rroot::iros");
30 virtual void*
cast(
const std::string& a_class)
const {
31 if(
void* p = cmp_cast<iros>(
this,a_class))
return p;
38 if(
void* p = cmp_cast<iros>(
this,a_class)) {
return p;}
45 bool accept_null =
false;
53 mem::increment(
s_class().c_str());
59 mem::decrement(
s_class().c_str());
69 mem::increment(
s_class().c_str());
72 parent::push_back((*it)->copy());
77 if(&a_from==
this)
return *
this;
82 parent::push_back((*it)->copy());
96 void dump(std::ostream& a_out) {
97 a_out <<
" iros : size " <<
size() << std::endl;
99 a_out <<
" class " << (*it)->s_cls() << std::endl;
115 if(!a_buffer.
read(name))
return false;
117 if(!a_buffer.
read(nobjects))
return false;
119 if(!a_buffer.
read(lowerBound))
return false;
124 for (
int i=0;i<nobjects;i++) {
130 a_buffer.
out() <<
"tools::rroot::iros::stream : can't read object." << std::endl;
136 parent::push_back(obj);
139 parent::push_back(obj);
145 parent::push_back(0);
155 typedef parent::iterator it_t;
156 typedef std::vector<bool>::iterator itb_t;
157 while(!parent::empty()) {
159 itb_t itb =
m_owns.begin();
164 if(own)
delete entry;
#define tools_vforcit(a__T, a__v, a__it)