int64_t c_SimpleXMLElement::t_count() {
  if (m_is_attribute) {
    return m_attributes.toArray().size();
  }
  if (m_is_property) {
    int64_t n = 0; Variant var(this);
    for (ArrayIter iter = var.begin(); iter; ++iter) {
      ++n;
    }
    return n;
  }
  int64_t n = 0; Variant var(this);
  for (ArrayIter iter = var.begin(); iter; ++iter) {
    if (iter.second().isArray()) {
      n += iter.second().toArray().size();
    } else {
      ++n;
    }
  }
  return n;
}
int64_t c_SimpleXMLElement::t_count() {
  if (m_is_attribute) {
    return m_attributes.toArray().size();
  }
  if (m_is_property) {
    int64_t n = 0; Variant var(this);
    for (ArrayIter iter = var.begin(); iter; ++iter) {
      ++n;
    }
    return n;
  }
  int64_t n = 0; Variant var(this);
  for (ArrayIter iter = var.begin(); iter; ++iter) {
    if (iter.second().isArray()) {
      n += iter.second().toArray().size();
    } else {
      ++n;
    }
  }
  return n;
}