您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ visit_end_struct函数代码示例

51自学网 2021-06-03 09:43:08
  C++
这篇教程C++ visit_end_struct函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中visit_end_struct函数的典型用法代码示例。如果您正苦于以下问题:C++ visit_end_struct函数的具体用法?C++ visit_end_struct怎么用?C++ visit_end_struct使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了visit_end_struct函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: visit_type_PciDeviceInfo

void visit_type_PciDeviceInfo(Visitor *m, PciDeviceInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "PciDeviceInfo", name, sizeof(PciDeviceInfo), errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->bus : NULL, "bus", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->slot : NULL, "slot", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->function : NULL, "function", errp);    visit_start_struct(m, NULL, "", "class_info", 0, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->class_info.has_desc : NULL, "desc", errp);    if ((*obj)->class_info.has_desc) {        visit_type_str(m, (obj && *obj) ? &(*obj)->class_info.desc : NULL, "desc", errp);    }    visit_end_optional(m, errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->class_info.class : NULL, "class", errp);    visit_end_struct(m, errp);    visit_start_struct(m, NULL, "", "id", 0, errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->id.device : NULL, "device", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->id.vendor : NULL, "vendor", errp);    visit_end_struct(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_irq : NULL, "irq", errp);    if ((*obj)->has_irq) {        visit_type_int(m, (obj && *obj) ? &(*obj)->irq : NULL, "irq", errp);    }    visit_end_optional(m, errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->qdev_id : NULL, "qdev_id", errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_pci_bridge : NULL, "pci_bridge", errp);    if ((*obj)->has_pci_bridge) {        visit_type_PciBridgeInfo(m, (obj && *obj) ? &(*obj)->pci_bridge : NULL, "pci_bridge", errp);    }    visit_end_optional(m, errp);    visit_type_PciMemoryRegionList(m, (obj && *obj) ? &(*obj)->regions : NULL, "regions", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:32,


示例2: balloon_stats_get_all

static void balloon_stats_get_all(Object *obj, struct Visitor *v,                                  void *opaque, const char *name, Error **errp){    Error *err = NULL;    VirtIOBalloon *s = opaque;    int i;    visit_start_struct(v, NULL, "guest-stats", name, 0, &err);    if (err) {        goto out;    }    visit_type_int(v, &s->stats_last_update, "last-update", &err);    if (err) {        goto out_end;    }    visit_start_struct(v, NULL, NULL, "stats", 0, &err);    if (err) {        goto out_end;    }    for (i = 0; !err && i < VIRTIO_BALLOON_S_NR; i++) {        visit_type_int64(v, (int64_t *) &s->stats[i], balloon_stat_names[i],                         &err);    }    error_propagate(errp, err);    err = NULL;    visit_end_struct(v, &err);out_end:    error_propagate(errp, err);    err = NULL;    visit_end_struct(v, &err);out:    error_propagate(errp, err);}
开发者ID:C2Devel,项目名称:qemu-kvm,代码行数:35,


示例3: visit_type_VersionInfo

void visit_type_VersionInfo(Visitor *m, VersionInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "VersionInfo", name, sizeof(VersionInfo), errp);    visit_start_struct(m, NULL, "", "qemu", 0, errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->qemu.major : NULL, "major", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->qemu.minor : NULL, "minor", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->qemu.micro : NULL, "micro", errp);    visit_end_struct(m, errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->package : NULL, "package", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:11,


示例4: visit_type_TestStruct

static void visit_type_TestStruct(Visitor *v, TestStruct **obj,                                  const char *name, Error **errp){    Error *err = NULL;    visit_start_struct(v, (void **)obj, "TestStruct", name, sizeof(TestStruct),                       &err);    if (err) {        goto out;    }    visit_type_int(v, &(*obj)->integer, "integer", &err);    if (err) {        goto out_end;    }    visit_type_bool(v, &(*obj)->boolean, "boolean", &err);    if (err) {        goto out_end;    }    visit_type_str(v, &(*obj)->string, "string", &err);out_end:    error_propagate(errp, err);    err = NULL;    visit_end_struct(v, &err);out:    error_propagate(errp, err);}
开发者ID:Acidburn0zzz,项目名称:qemu,代码行数:27,


示例5: visit_type_KvmInfo

void visit_type_KvmInfo(Visitor *m, KvmInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "KvmInfo", name, sizeof(KvmInfo), errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->enabled : NULL, "enabled", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->present : NULL, "present", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,


示例6: visit_type_PciMemoryRange

void visit_type_PciMemoryRange(Visitor *m, PciMemoryRange ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "PciMemoryRange", name, sizeof(PciMemoryRange), errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->base : NULL, "base", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->limit : NULL, "limit", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,


示例7: visit_type_VncInfo

void visit_type_VncInfo(Visitor *m, VncInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "VncInfo", name, sizeof(VncInfo), errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->enabled : NULL, "enabled", errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_host : NULL, "host", errp);    if ((*obj)->has_host) {        visit_type_str(m, (obj && *obj) ? &(*obj)->host : NULL, "host", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_family : NULL, "family", errp);    if ((*obj)->has_family) {        visit_type_str(m, (obj && *obj) ? &(*obj)->family : NULL, "family", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_service : NULL, "service", errp);    if ((*obj)->has_service) {        visit_type_str(m, (obj && *obj) ? &(*obj)->service : NULL, "service", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_auth : NULL, "auth", errp);    if ((*obj)->has_auth) {        visit_type_str(m, (obj && *obj) ? &(*obj)->auth : NULL, "auth", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_clients : NULL, "clients", errp);    if ((*obj)->has_clients) {        visit_type_VncClientInfoList(m, (obj && *obj) ? &(*obj)->clients : NULL, "clients", errp);    }    visit_end_optional(m, errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:31,


示例8: visit_type_ChardevInfo

void visit_type_ChardevInfo(Visitor *m, ChardevInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "ChardevInfo", name, sizeof(ChardevInfo), errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->label : NULL, "label", errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->filename : NULL, "filename", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,


示例9: visit_type_TestStruct

static void visit_type_TestStruct(Visitor *v, TestStruct **obj, const char *name, Error **errp){    visit_start_struct(v, (void **)obj, "TestStruct", name, sizeof(TestStruct), errp);    visit_type_int(v, &(*obj)->x, "x", errp);    visit_type_int(v, &(*obj)->y, "y", errp);    visit_end_struct(v, errp);}
开发者ID:3a9LL,项目名称:panda,代码行数:7,


示例10: test_visitor_in_null

static void test_visitor_in_null(TestInputVisitorData *data,                                 const void *unused){    Visitor *v;    Error *err = NULL;    char *tmp;    /*     * FIXME: Since QAPI doesn't know the 'null' type yet, we can't     * test visit_type_null() by reading into a QAPI struct then     * checking that it was populated correctly.  The best we can do     * for now is ensure that we consumed null from the input, proven     * by the fact that we can't re-read the key; and that we detect     * when input is not null.     */    v = visitor_input_test_init(data, "{ 'a': null, 'b': '' }");    visit_start_struct(v, NULL, NULL, 0, &error_abort);    visit_type_null(v, "a", &error_abort);    visit_type_str(v, "a", &tmp, &err);    g_assert(!tmp);    error_free_or_abort(&err);    visit_type_null(v, "b", &err);    error_free_or_abort(&err);    visit_check_struct(v, &error_abort);    visit_end_struct(v, NULL);}
开发者ID:GamerSource,项目名称:qemu,代码行数:27,


示例11: visit_type_PciInfo

void visit_type_PciInfo(Visitor *m, PciInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "PciInfo", name, sizeof(PciInfo), errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->bus : NULL, "bus", errp);    visit_type_PciDeviceInfoList(m, (obj && *obj) ? &(*obj)->devices : NULL, "devices", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:7,


示例12: visit_type_CpuInfo

void visit_type_CpuInfo(Visitor *m, CpuInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "CpuInfo", name, sizeof(CpuInfo), errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->CPU : NULL, "CPU", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->current : NULL, "current", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->halted : NULL, "halted", errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_pc : NULL, "pc", errp);    if ((*obj)->has_pc) {        visit_type_int(m, (obj && *obj) ? &(*obj)->pc : NULL, "pc", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_nip : NULL, "nip", errp);    if ((*obj)->has_nip) {        visit_type_int(m, (obj && *obj) ? &(*obj)->nip : NULL, "nip", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_npc : NULL, "npc", errp);    if ((*obj)->has_npc) {        visit_type_int(m, (obj && *obj) ? &(*obj)->npc : NULL, "npc", errp);    }    visit_end_optional(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_PC : NULL, "PC", errp);    if ((*obj)->has_PC) {        visit_type_int(m, (obj && *obj) ? &(*obj)->PC : NULL, "PC", errp);    }    visit_end_optional(m, errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->thread_id : NULL, "thread_id", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:29,


示例13: visit_type_MigrationStats

void visit_type_MigrationStats(Visitor *m, MigrationStats ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "MigrationStats", name, sizeof(MigrationStats), errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->transferred : NULL, "transferred", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->remaining : NULL, "remaining", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->total : NULL, "total", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:8,


示例14: visit_type_StatusInfo

void visit_type_StatusInfo(Visitor *m, StatusInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "StatusInfo", name, sizeof(StatusInfo), errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->running : NULL, "running", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->singlestep : NULL, "singlestep", errp);    visit_type_RunState(m, (obj && *obj) ? &(*obj)->status : NULL, "status", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:8,


示例15: visit_type_PciBridgeInfo

void visit_type_PciBridgeInfo(Visitor *m, PciBridgeInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "PciBridgeInfo", name, sizeof(PciBridgeInfo), errp);    visit_start_struct(m, NULL, "", "bus", 0, errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->bus.number : NULL, "number", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->bus.secondary : NULL, "secondary", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->bus.subordinate : NULL, "subordinate", errp);    visit_type_PciMemoryRange(m, (obj && *obj) ? &(*obj)->bus.io_range : NULL, "io_range", errp);    visit_type_PciMemoryRange(m, (obj && *obj) ? &(*obj)->bus.memory_range : NULL, "memory_range", errp);    visit_type_PciMemoryRange(m, (obj && *obj) ? &(*obj)->bus.prefetchable_range : NULL, "prefetchable_range", errp);    visit_end_struct(m, errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_devices : NULL, "devices", errp);    if ((*obj)->has_devices) {        visit_type_PciDeviceInfoList(m, (obj && *obj) ? &(*obj)->devices : NULL, "devices", errp);    }    visit_end_optional(m, errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:18,


示例16: visit_type_MouseInfo

void visit_type_MouseInfo(Visitor *m, MouseInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "MouseInfo", name, sizeof(MouseInfo), errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->name : NULL, "name", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->index : NULL, "index", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->current : NULL, "current", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->absolute : NULL, "absolute", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:9,


示例17: visit_type_NameInfo

void visit_type_NameInfo(Visitor *m, NameInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "NameInfo", name, sizeof(NameInfo), errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_name : NULL, "name", errp);    if ((*obj)->has_name) {        visit_type_str(m, (obj && *obj) ? &(*obj)->name : NULL, "name", errp);    }    visit_end_optional(m, errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:10,


示例18: visit_type_TestStruct

static void visit_type_TestStruct(Visitor *v, TestStruct **obj,                                  const char *name, Error **errp){    visit_start_struct(v, (void **)obj, NULL, name, sizeof(TestStruct), errp);    visit_type_int(v, &(*obj)->integer, "integer", errp);    visit_type_bool(v, &(*obj)->boolean, "boolean", errp);    visit_type_str(v, &(*obj)->string, "string", errp);    visit_end_struct(v, errp);}
开发者ID:AlexWWW,项目名称:qemu-linaro-clone,代码行数:11,


示例19: visit_type_SpiceChannel

void visit_type_SpiceChannel(Visitor *m, SpiceChannel ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "SpiceChannel", name, sizeof(SpiceChannel), errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->host : NULL, "host", errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->family : NULL, "family", errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->port : NULL, "port", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->connection_id : NULL, "connection-id", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->channel_type : NULL, "channel-type", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->channel_id : NULL, "channel-id", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->tls : NULL, "tls", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:12,


示例20: prop_get_fdt

static void prop_get_fdt(Object *obj, Visitor *v, void *opaque,                        const char *name, Error **errp){    sPAPRDRConnector *drc = SPAPR_DR_CONNECTOR(obj);    int fdt_offset_next, fdt_offset, fdt_depth;    void *fdt;    if (!drc->fdt) {        return;    }    fdt = drc->fdt;    fdt_offset = drc->fdt_start_offset;    fdt_depth = 0;    do {        const char *name = NULL;        const struct fdt_property *prop = NULL;        int prop_len = 0, name_len = 0;        uint32_t tag;        tag = fdt_next_tag(fdt, fdt_offset, &fdt_offset_next);        switch (tag) {        case FDT_BEGIN_NODE:            fdt_depth++;            name = fdt_get_name(fdt, fdt_offset, &name_len);            visit_start_struct(v, NULL, NULL, name, 0, NULL);            break;        case FDT_END_NODE:            /* shouldn't ever see an FDT_END_NODE before FDT_BEGIN_NODE */            g_assert(fdt_depth > 0);            visit_end_struct(v, NULL);            fdt_depth--;            break;        case FDT_PROP: {            int i;            prop = fdt_get_property_by_offset(fdt, fdt_offset, &prop_len);            name = fdt_string(fdt, fdt32_to_cpu(prop->nameoff));            visit_start_list(v, name, NULL);            for (i = 0; i < prop_len; i++) {                visit_type_uint8(v, (uint8_t *)&prop->data[i], NULL, NULL);            }            visit_end_list(v, NULL);            break;        }        default:            error_setg(&error_abort, "device FDT in unexpected state: %d", tag);        }        fdt_offset = fdt_offset_next;    } while (fdt_depth != 0);}
开发者ID:chelseaqwang,项目名称:qemu-tpm,代码行数:52,


示例21: balloon_stats_get_all

static void balloon_stats_get_all(Object *obj, Visitor *v, const char *name,                                  void *opaque, Error **errp){    Error *err = NULL;    VirtIOBalloon *s = opaque;    int i;    visit_start_struct(v, name, NULL, 0, &err);    if (err) {        goto out;    }    visit_type_int(v, "last-update", &s->stats_last_update, &err);    if (err) {        goto out_end;    }    visit_start_struct(v, "stats", NULL, 0, &err);    if (err) {        goto out_end;    }    for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) {        visit_type_uint64(v, balloon_stat_names[i], &s->stats[i], &err);        if (err) {            goto out_nested;        }    }    visit_check_struct(v, &err);out_nested:    visit_end_struct(v, NULL);    if (!err) {        visit_check_struct(v, &err);    }out_end:    visit_end_struct(v, NULL);out:    error_propagate(errp, err);}
开发者ID:MaddTheSane,项目名称:qemu,代码行数:38,


示例22: balloon_stats_get_all

static void balloon_stats_get_all(Object *obj, struct Visitor *v,                                  void *opaque, const char *name, Error **errp){    VirtIOBalloon *s = opaque;    int i;    if (!s->stats_last_update) {        error_setg(errp, "guest hasn't updated any stats yet");        return;    }    visit_start_struct(v, NULL, "guest-stats", name, 0, errp);    visit_type_int(v, &s->stats_last_update, "last-update", errp);    visit_start_struct(v, NULL, NULL, "stats", 0, errp);    for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) {        visit_type_int64(v, (int64_t *) &s->stats[i], balloon_stat_names[i],                         errp);    }    visit_end_struct(v, errp);    visit_end_struct(v, errp);}
开发者ID:slotfi64,项目名称:qemu,代码行数:23,


示例23: visit_type_BlockDeviceInfo

void visit_type_BlockDeviceInfo(Visitor *m, BlockDeviceInfo ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "BlockDeviceInfo", name, sizeof(BlockDeviceInfo), errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->file : NULL, "file", errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->ro : NULL, "ro", errp);    visit_type_str(m, (obj && *obj) ? &(*obj)->drv : NULL, "drv", errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_backing_file : NULL, "backing_file", errp);    if ((*obj)->has_backing_file) {        visit_type_str(m, (obj && *obj) ? &(*obj)->backing_file : NULL, "backing_file", errp);    }    visit_end_optional(m, errp);    visit_type_bool(m, (obj && *obj) ? &(*obj)->encrypted : NULL, "encrypted", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:14,


示例24: visit_type_BlockDeviceStats

void visit_type_BlockDeviceStats(Visitor *m, BlockDeviceStats ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "BlockDeviceStats", name, sizeof(BlockDeviceStats), errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->rd_bytes : NULL, "rd_bytes", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->wr_bytes : NULL, "wr_bytes", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->rd_operations : NULL, "rd_operations", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->wr_operations : NULL, "wr_operations", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->flush_operations : NULL, "flush_operations", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->flush_total_time_ns : NULL, "flush_total_time_ns", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->wr_total_time_ns : NULL, "wr_total_time_ns", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->rd_total_time_ns : NULL, "rd_total_time_ns", errp);    visit_type_int(m, (obj && *obj) ? &(*obj)->wr_highest_offset : NULL, "wr_highest_offset", errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:14,


示例25: rtc_get_date

static void rtc_get_date(DeviceState *dev, Visitor *v, void *opaque,                         const char *name, Error **errp){    ISADevice *isa = ISA_DEVICE(dev);    RTCState *s = DO_UPCAST(RTCState, dev, isa);    visit_start_struct(v, NULL, "struct tm", name, 0, errp);    visit_type_int32(v, &s->current_tm.tm_year, "tm_year", errp);    visit_type_int32(v, &s->current_tm.tm_mon, "tm_mon", errp);    visit_type_int32(v, &s->current_tm.tm_mday, "tm_mday", errp);    visit_type_int32(v, &s->current_tm.tm_hour, "tm_hour", errp);    visit_type_int32(v, &s->current_tm.tm_min, "tm_min", errp);    visit_type_int32(v, &s->current_tm.tm_sec, "tm_sec", errp);    visit_end_struct(v, errp);}
开发者ID:ddk50,项目名称:qemu-qcas,代码行数:15,


示例26: qdict_clone_shallow

Object *user_creatable_add(const QDict *qdict,                           Visitor *v, Error **errp){    char *type = NULL;    char *id = NULL;    Object *obj = NULL;    Error *local_err = NULL;    QDict *pdict;    pdict = qdict_clone_shallow(qdict);    visit_start_struct(v, NULL, NULL, 0, &local_err);    if (local_err) {        goto out;    }    qdict_del(pdict, "qom-type");    visit_type_str(v, "qom-type", &type, &local_err);    if (local_err) {        goto out_visit;    }    qdict_del(pdict, "id");    visit_type_str(v, "id", &id, &local_err);    if (local_err) {        goto out_visit;    }    visit_check_struct(v, &local_err);    if (local_err) {        goto out_visit;    }    obj = user_creatable_add_type(type, id, pdict, v, &local_err);out_visit:    visit_end_struct(v, NULL);out:    QDECREF(pdict);    g_free(id);    g_free(type);    if (local_err) {        error_propagate(errp, local_err);        object_unref(obj);        return NULL;    }    return obj;}
开发者ID:GamerSource,项目名称:qemu,代码行数:48,


示例27: visit_type_BlockStats

void visit_type_BlockStats(Visitor *m, BlockStats ** obj, const char *name, Error **errp){    visit_start_struct(m, (void **)obj, "BlockStats", name, sizeof(BlockStats), errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_device : NULL, "device", errp);    if ((*obj)->has_device) {        visit_type_str(m, (obj && *obj) ? &(*obj)->device : NULL, "device", errp);    }    visit_end_optional(m, errp);    visit_type_BlockDeviceStats(m, (obj && *obj) ? &(*obj)->stats : NULL, "stats", errp);    visit_start_optional(m, (obj && *obj) ? &(*obj)->has_parent : NULL, "parent", errp);    if ((*obj)->has_parent) {        visit_type_BlockStats(m, (obj && *obj) ? &(*obj)->parent : NULL, "parent", errp);    }    visit_end_optional(m, errp);    visit_end_struct(m, errp);}
开发者ID:daodewang,项目名称:decaf-platform,代码行数:16,


示例28: visit_type_GuestAgentInfo

void visit_type_GuestAgentInfo(Visitor *m, GuestAgentInfo ** obj, const char *name, Error **errp){    if (!error_is_set(errp)) {        Error *err = NULL;        visit_start_struct(m, (void **)obj, "GuestAgentInfo", name, sizeof(GuestAgentInfo), &err);        if (!err) {            if (!obj || *obj) {                visit_type_GuestAgentInfo_fields(m, obj, &err);                error_propagate(errp, err);                err = NULL;            }            /* Always call end_struct if start_struct succeeded.  */            visit_end_struct(m, &err);        }        error_propagate(errp, err);    }}
开发者ID:anshulmakkar,项目名称:vhost_user,代码行数:17,


示例29: rtc_get_date

static void rtc_get_date(Object *obj, Visitor *v, void *opaque,                         const char *name, Error **errp){    RTCState *s = MC146818_RTC(obj);    struct tm current_tm;    rtc_update_time(s);    rtc_get_time(s, &current_tm);    visit_start_struct(v, NULL, "struct tm", name, 0, errp);    visit_type_int32(v, &current_tm.tm_year, "tm_year", errp);    visit_type_int32(v, &current_tm.tm_mon, "tm_mon", errp);    visit_type_int32(v, &current_tm.tm_mday, "tm_mday", errp);    visit_type_int32(v, &current_tm.tm_hour, "tm_hour", errp);    visit_type_int32(v, &current_tm.tm_min, "tm_min", errp);    visit_type_int32(v, &current_tm.tm_sec, "tm_sec", errp);    visit_end_struct(v, errp);}
开发者ID:01org,项目名称:KVMGT-qemu,代码行数:17,


示例30: block_crypto_create_opts_init

static QCryptoBlockCreateOptions *block_crypto_create_opts_init(QCryptoBlockFormat format,                              QemuOpts *opts,                              Error **errp){    OptsVisitor *ov;    QCryptoBlockCreateOptions *ret = NULL;    Error *local_err = NULL;    ret = g_new0(QCryptoBlockCreateOptions, 1);    ret->format = format;    ov = opts_visitor_new(opts);    visit_start_struct(opts_get_visitor(ov),                       NULL, NULL, 0, &local_err);    if (local_err) {        goto out;    }    switch (format) {    case Q_CRYPTO_BLOCK_FORMAT_LUKS:        visit_type_QCryptoBlockCreateOptionsLUKS_members(            opts_get_visitor(ov), &ret->u.luks, &local_err);        break;    default:        error_setg(&local_err, "Unsupported block format %d", format);        break;    }    if (!local_err) {        visit_check_struct(opts_get_visitor(ov), &local_err);    }    visit_end_struct(opts_get_visitor(ov)); out:    if (local_err) {        error_propagate(errp, local_err);        qapi_free_QCryptoBlockCreateOptions(ret);        ret = NULL;    }    opts_visitor_cleanup(ov);    return ret;}
开发者ID:Isaac-Lozano,项目名称:qemu,代码行数:45,



注:本文中的visit_end_struct函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ visit_type_bool函数代码示例
C++ visitNodes函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。