|
inlib
1.2.0
|


Public Member Functions | |
| virtual void * | cast (const std::string &a_class) const |
| virtual bool | stream (buffer &a_buffer) |
| virtual bool | read_basket (buffer &)=0 |
| virtual bool | print_value (std::ostream &, uint32) const =0 |
| virtual uint32 | num_elem () const =0 |
| virtual const std::string & | s_cls () const =0 |
| base_leaf (std::ostream &a_out, rroot::branch &a_branch, ifac &a_fac) | |
| virtual | ~base_leaf () |
| rroot::branch & | branch () |
| const std::string & | name () const |
| const std::string & | title () const |
Static Public Member Functions | |
| static const std::string & | s_class () |
Protected Member Functions | |
| base_leaf (const base_leaf &a_from) | |
| base_leaf & | operator= (const base_leaf &) |
Protected Attributes | |
| std::ostream & | m_out |
| rroot::branch & | m_branch |
| ifac & | m_fac |
| std::string | m_name |
| std::string | m_title |
| uint32 | m_ndata |
| uint32 | m_length |
| Number of elements in fAddress data buffer. | |
| base_leaf * | m_leaf_count |
| inlib::rroot::base_leaf::base_leaf | ( | std::ostream & | a_out, |
| rroot::branch & | a_branch, | ||
| ifac & | a_fac | ||
| ) | [inline] |
| virtual inlib::rroot::base_leaf::~base_leaf | ( | ) | [inline, virtual] |
Definition at line 120 of file base_leaf.
{
delete m_leaf_count;
#ifdef INLIB_MEM
mem::decrement(s_class().c_str());
#endif
}
| inlib::rroot::base_leaf::base_leaf | ( | const base_leaf & | a_from | ) | [inline, protected] |
| rroot::branch& inlib::rroot::base_leaf::branch | ( | ) | [inline] |
| virtual void* inlib::rroot::base_leaf::cast | ( | const std::string & | a_class | ) | const [inline, virtual] |
Implements inlib::rroot::iro.
Reimplemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
Definition at line 28 of file base_leaf.
{
if(void* p = inlib::cmp_cast<base_leaf>(this,a_class)) {return p;}
else return 0;
}
| const std::string& inlib::rroot::base_leaf::name | ( | ) | const [inline] |
| virtual uint32 inlib::rroot::base_leaf::num_elem | ( | ) | const [pure virtual] |
Implemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
| virtual bool inlib::rroot::base_leaf::print_value | ( | std::ostream & | , |
| uint32 | |||
| ) | const [pure virtual] |
Implemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
| virtual bool inlib::rroot::base_leaf::read_basket | ( | buffer & | ) | [pure virtual] |
Implemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
| static const std::string& inlib::rroot::base_leaf::s_class | ( | ) | [inline, static] |
Reimplemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
Definition at line 23 of file base_leaf.
{
static const std::string s_v("inlib::rroot::base_leaf");
return s_v;
}
| virtual const std::string& inlib::rroot::base_leaf::s_cls | ( | ) | const [pure virtual] |
Implemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
| virtual bool inlib::rroot::base_leaf::stream | ( | buffer & | a_buffer | ) | [inline, virtual] |
Implements inlib::rroot::iro.
Reimplemented in inlib::rroot::leaf_element, inlib::rroot::leaf_string, and inlib::rroot::leaf< T >.
Definition at line 32 of file base_leaf.
{
delete m_leaf_count;
m_leaf_count = 0;
int fLengthType;
int fOffset;
bool fIsRange;
bool fIsUnsigned;
short v;
unsigned int s,c;
if(!a_buffer.read_version(v,s,c)) return false;
//FIXME if (v > 1) {
//TLeaf::Class()->ReadBuffer(b, this, R__v, R__s, R__c);
//FIXME } else {
//====process old versions before automatic schema evolution
if(!Named_stream(a_buffer,m_name,m_title)) return false;
// Ok with v 1 & 2
if(!a_buffer.read(m_length)) return false;
if(!a_buffer.read(fLengthType)) return false;
if(!a_buffer.read(fOffset)) return false;
if(!a_buffer.read(fIsRange)) return false;
if(!a_buffer.read(fIsUnsigned)) return false;
{ifac::args args;
args[ifac::arg_branch()] = &m_branch;
iro* obj;
if(!a_buffer.read_object(m_fac,args,obj)) {
m_out << "inlib::rroot::base_leaf::stream :"
<< " can't read object."
<< std::endl;
return false;
}
if(!obj) {
//m_out << "inlib::rroot::base_leaf::stream :"
// << " null leaf count object."
// << std::endl;
} else {
m_leaf_count = inlib::cast<iro,base_leaf>(*obj);
if(!m_leaf_count) {
m_out << "inlib::rroot::base_leaf::stream :"
<< " can't cast base_leaf."
<< std::endl;
m_leaf_count = 0;
delete obj;
return false;
}
}}
if(!a_buffer.check_byte_count(s,c,"TLeaf")) return false;
if(!m_length) m_length = 1;
/*
fNewValue = false;
if(!setAddress(0)) return false;
*/
return true;
}
| const std::string& inlib::rroot::base_leaf::title | ( | ) | const [inline] |
rroot::branch& inlib::rroot::base_leaf::m_branch [protected] |
ifac& inlib::rroot::base_leaf::m_fac [protected] |
base_leaf* inlib::rroot::base_leaf::m_leaf_count [protected] |
uint32 inlib::rroot::base_leaf::m_length [protected] |
std::string inlib::rroot::base_leaf::m_name [protected] |
uint32 inlib::rroot::base_leaf::m_ndata [protected] |
std::ostream& inlib::rroot::base_leaf::m_out [protected] |
std::string inlib::rroot::base_leaf::m_title [protected] |
1.7.5.1