本文整理汇总了C++中ptree::add_child方法的典型用法代码示例。如果您正苦于以下问题:C++ ptree::add_child方法的具体用法?C++ ptree::add_child怎么用?C++ ptree::add_child使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ptree
的用法示例。
在下文中一共展示了ptree::add_child方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: process_pde_text
void process_pde_text(PdeTextP text, ptree& node) {
PdfTextState ts;
switch (text->GetType())
{
case kPdeText:
{
node.put("type", "text_paragraph");
std::wstring s;
s.resize(text->GetText(nullptr, 0));
text->GetText((wchar_t*)s.c_str(), s.size());
node.put("text", w2utf8(s.c_str()));
text->GetTextState(&ts);
auto num_lines = text->GetNumTextLines();
for (auto i = 0; i < num_lines; i++) {
ptree line_node;
PdeTextLineP text_line = text->GetTextLine(i);
process_pde_element((PdeElementP)text_line, line_node);
node.add_child("element", line_node);
}
}
break;
case kPdeTextLine:
{
PdeTextLineP text_line = (PdeTextLine*)text;
node.put("type", "text_line");
std::wstring s;
s.resize(text_line->GetText(nullptr, 0));
text_line->GetText((wchar_t*)s.c_str(), s.size());
node.put("text", w2utf8(s.c_str()));
text_line->GetTextState(&ts);
auto num_word = text_line->GetNumWords();
for (auto i = 0; i < num_word; i++) {
ptree word_node;
PdeWordP text_word = text_line->GetWord(i);
process_pde_element((PdeElementP)text_word, word_node);
node.add_child("element", word_node);
}
}
break;
case kPdeWord:
{
PdeWordP word = (PdeWord*)text;
node.put("type", "text_word");
std::wstring s;
s.resize(word->GetText(nullptr, 0));
word->GetText((wchar_t*)s.c_str(), s.size());
node.put("text", w2utf8(s.c_str()));
word->GetTextState(&ts);
}
break;
}
process_pdf_text_state(ts, node);
}
示例2: process_pdf_rgb
//methods
void process_pdf_rgb(PdfRGB& color, ptree& node) {
ptree stroke_node;
stroke_node.put("red", color.r);
stroke_node.put("green", color.g);
stroke_node.put("blue", color.b);
node.add_child("fill_color", stroke_node);
}
示例3: unparse
template<typename T> static void
unparseElements(ptree& tree, const std::string& key, const T& elements)
{
if (elements.size()) {
ptree list;
for (const auto& elem : elements)
list.push_back({"", unparse(elem)});
tree.add_child(key, list);
}
}
示例4: writeToPropertyTree
void CompShapePolygon::writeToPropertyTree(ptree& propTree) const
{
for ( size_t i = 0; i < getVertexCount(); ++i )
{
ptree vertexPropTree;
vertexPropTree.add("x", m_vertices[i].x);
vertexPropTree.add("y", m_vertices[i].y);
propTree.add_child("polygon.vertex", vertexPropTree);
}
}
示例5: process_page
void process_page(PdfPageP page, ptree& node) {
if (!page) return;
node.put("number", page->GetNumber());
node.put("rotate", page->GetRotate());
PdfPageMapParams params;
PdePageMapP page_map = page->AcquirePageMap(¶ms, nullptr, nullptr);
if (page_map == nullptr)
return;
int num_elements = page_map->GetNumElements();
for (auto i = 0; i < num_elements; i++) {
ptree elem_tree;
PdeElementP element = page_map->GetElement(i);
process_pde_element(element, elem_tree);
node.add_child("element", elem_tree);
}
page->ReleasePageMap();
}
示例6: writeToPropertyTree
void CompPhysics::writeToPropertyTree(ptree& propTree) const
{
// damping element
if (getLinearDamping() != 0.0f || getAngularDamping() != 0.0f)
{
propTree.add("damping.linear", getLinearDamping());
propTree.add("damping.angular", getAngularDamping());
}
if (m_localGravitationPoint != Vector2D(0.0f, 0.0f))
{
propTree.add("gravitationPoint.x", m_localGravitationPoint.x);
propTree.add("gravitationPoint.y", m_localGravitationPoint.y);
}
if (isFixedRotation())
{
propTree.add("isFixedRotation", true);
}
if (isBullet())
{
propTree.add("isBullet", true);
}
for (ShapeInfoVec::const_iterator it = getShapeInfos().begin(); it != getShapeInfos().end(); ++it)
{
ptree shapePropTree;
shapePropTree.add("comp_id", (*it)->compId);
if ((*it)->density != 0)
shapePropTree.add("density", (*it)->density);
if ((*it)->friction != 0)
shapePropTree.add("friction", (*it)->friction);
if ((*it)->restitution != 0)
shapePropTree.add("restitution", (*it)->restitution);
if ((*it)->isSensor)
shapePropTree.add("isSensor", true);
propTree.add_child("shape", shapePropTree);
}
}
示例7: process_pde_element
void process_pde_element(PdeElementP element, ptree& node) {
if (!element) return;
node.put("id", element->GetId());
PdfRect bbox;
element->GetBBox(&bbox);
node.put("left", bbox.left);
node.put("bottom", bbox.bottom);
node.put("right", bbox.right);
node.put("top", bbox.top);
switch (element->GetType())
{
case kPdeText:
case kPdeTextLine:
case kPdeWord:
process_pde_text((PdeText*)element, node);
break;
case kPdeImage:
process_pde_image((PdeImage*)element, node);
break;
case kPdePath:
case kPdeLine:
case kPdeRect:
process_pde_path((PdePath*)element, node);
break;
case kPdeTable:
process_pde_table((PdeTable*)element, node);
break;
default:
break;
}
auto num_childs = element->GetNumChildren();
for (auto i = 0; i < num_childs; i++) {
ptree elem_node;
PdeElementP child = element->GetChild(i);
process_pde_element(child, elem_node);
node.add_child("element", elem_node);
}
}
示例8: executeGetRequest
string Account::executeGetRequest(ptree & root)
{
string ret = MPAO::DEFAULT_JSON_ID;
//MPA_LOG_TRIVIAL(trace, "" );
ptree accountsChildren;
vector<mpapo::Account> accounts = getAccounts();
for (vector<mpapo::Account>::iterator it = accounts.begin(); it != accounts.end(); it++)
{
ptree accountPtree;
accountPtree.put("id", (*it).id);
accountPtree.put("version", (*it).version);
accountPtree.put("name", (*it).name);
accountPtree.put("balance", StrUtil::float2string((*it).balance));
accountsChildren.push_back(std::make_pair("", accountPtree));
}
root.add_child("accounts", accountsChildren);
return ret;
}
示例9: process_pdf_annot
void process_pdf_annot(PdfAnnotP annot, ptree& node) {
PdfAnnotSubtype subtype = annot->GetSubtype();
switch (subtype) {
case kAnnotText:
node.put("subtype", "Text"); break;
case kAnnotLink:
node.put("subtype", "Link"); break;
case kAnnotFreeText:
node.put("subtype", "FreeText"); break;
case kAnnotLine:
node.put("subtype", "Line"); break;
case kAnnotSquare:
node.put("subtype", "Square"); break;
case kAnnotCircle:
node.put("subtype", "Circle"); break;
case kAnnotPolygon:
node.put("subtype", "Polygon"); break;
case kAnnotPolyLine:
node.put("subtype", "Polyline"); break;
case kAnnotHighlight:
node.put("subtype", "Highlight"); break;
case kAnnotUnderline:
node.put("subtype", "Underline"); break;
case kAnnotSquiggly:
node.put("subtype", "Squiggly"); break;
case kAnnotStrikeOut:
node.put("subtype", "StrikeOut"); break;
case kAnnotStamp:
node.put("subtype", "Stamp"); break;
case kAnnotCaret:
node.put("subtype", "Caret"); break;
case kAnnotInk:
node.put("subtype", "Ink"); break;
case kAnnotPopup:
node.put("subtype", "Popup"); break;
case kAnnotFileAttachment:
node.put("subtype", "FileAttachment"); break;
case kAnnotSound:
node.put("subtype", "Sound"); break;
case kAnnotMovie:
node.put("subtype", "Movie"); break;
case kAnnotWidget:
node.put("subtype", "Widget"); break;
case kAnnotScreen:
node.put("subtype", "Screen"); break;
case kAnnotPrinterMark:
node.put("subtype", "PrinterMark"); break;
case kAnnotTrapNet:
node.put("subtype", "TrapNet"); break;
case kAnnotWatermark:
node.put("subtype", "WaterMark"); break;
case kAnnot3D:
node.put("subtype", "3D"); break;
case kAnnotRedact:
node.put("subtype", "Redact"); break;
case kAnnotUnknown:
default:
node.put("subtype", "Unknown"); break;
}
PdfAnnotAppearance ap;
annot->GetAppearance(&ap);
ptree appearance;
ptree fill_node;
switch (ap.fill_type) {
case kFillTypeNone: fill_node.put("fill_type", "none"); break;
case kFillTypeSolid: fill_node.put("fill_type", "solid"); break;
}
process_pdf_rgb(ap.fill_color, fill_node);
appearance.add_child("fill", fill_node);
ptree border_node;
switch (ap.border) {
case kBorderSolid: border_node.put("border", "solid"); break;
case kBorderDashed: border_node.put("border", "dashed"); break;
case kBorderBeveled: border_node.put("border", "beveled"); break;
case kBorderUnderline: border_node.put("border", "underline"); break;
case kBorderInset: border_node.put("border", "inset"); break;
}
border_node.put("width", ap.border_width);
process_pdf_rgb(ap.border_color, border_node);
appearance.add_child("fill", border_node);
appearance.put("opacity", ap.opacity);
appearance.put("font_size", ap.font_size);
node.add_child("appearance", appearance);
}