const char*
pqrs_xml_compiler_get_preferences_checkbox_node_tree_style(const pqrs_xml_compiler_preferences_checkbox_node_tree* p) {
  auto node_tree = cast_to_preferences_checkbox_node_tree(p);
  if (!node_tree) return nullptr;

  return (node_tree->get_node()).get_style().c_str();
}
int
pqrs_xml_compiler_get_preferences_checkbox_node_tree_name_line_count(const pqrs_xml_compiler_preferences_checkbox_node_tree* p)
{
  auto node_tree = cast_to_preferences_checkbox_node_tree(p);
  if (! node_tree) return 0;

  return (node_tree->get_node()).get_name_line_count();
}
size_t pqrs_xml_compiler_get_preferences_checkbox_node_tree_children_count(const pqrs_xml_compiler_preferences_checkbox_node_tree* p) {
  auto node_tree = cast_to_preferences_checkbox_node_tree(p);
  if (!node_tree) return 0;

  auto children = node_tree->get_children();
  if (!children) return 0;

  return children->size();
}
const char*
pqrs_xml_compiler_get_preferences_checkbox_node_tree_identifier(const pqrs_xml_compiler_preferences_checkbox_node_tree* p) {
    auto node_tree = cast_to_preferences_checkbox_node_tree(p);
    if (!node_tree) return nullptr;

    const auto& identifier = (node_tree->get_node()).get_identifier();
    if (identifier.empty()) return nullptr;

    return identifier.c_str();
}
const pqrs_xml_compiler_preferences_checkbox_node_tree* pqrs_xml_compiler_get_preferences_checkbox_node_tree_child(const pqrs_xml_compiler_preferences_checkbox_node_tree* p, size_t index) {
  auto node_tree = cast_to_preferences_checkbox_node_tree(p);
  if (!node_tree) return nullptr;

  auto children = node_tree->get_children();
  if (!children) return nullptr;
  if (index >= children->size()) return nullptr;

  return reinterpret_cast<const pqrs_xml_compiler_preferences_checkbox_node_tree*>(((*children)[index]).get());
}