• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ abstract_mapper_base类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: list_scope

void
sql::write_update(
    const binomen &table,
    const abstract_mapper_base &dest,
    const abstract_mapper_base &src,
    optional<column_id> excluded
) {
    vector<const column_mapper *> src_columns;
    src.for_each_column([&](const column_mapper &c) {
        src_columns.push_back(&c);
    });
    auto src_column_iter = src_columns.begin();

    write("UPDATE ");
    write_quoted(table);
    write(" SET ");
    comma_separated_list_scope list_scope(*this);
    dest.for_each_persistent_column([&](const persistent_column_mapper &p) {
        if (p.id() != excluded) {
            list_scope.start_item();
            write_quoted(p.name());
            write(" = ");
            write_evaluation(**src_column_iter++);
        }
    });
}
开发者ID:KieronAllsop,项目名称:quince,代码行数:26,代码来源:sql.cpp


示例2: table_open_exception

void
table_base::rename_field_impl(const abstract_mapper_base &before, const abstract_mapper_base &after) const {
    if (_is_open)
        throw table_open_exception();

    const column_id_set my_columns = _value_mapper.column_ids();
    if (! (
            is_subset(before.column_ids(), my_columns)
         || is_subset(after.column_ids(), my_columns)
    ))
        throw outside_table_exception(_binomen);

    vector<string> names_before;
    vector<string> names_after;
    before.for_each_persistent_column([&](const persistent_column_mapper &p)    { names_before.push_back(p.name()); } );
    after.for_each_persistent_column([&](const persistent_column_mapper &p)     { names_after.push_back(p.name()); } );

    const size_t n = names_before.size();
    assert(names_after.size() == n);

    transaction txn(_database);
    unique_ptr<sql> cmd;
    for (size_t i = 0; i < n; i++) {
        cmd = _database.make_sql();
        cmd->write_rename_column(_binomen, names_before[i], names_after[i]);
        _database.get_session()->exec(*cmd);
    }
    txn.commit();
}
开发者ID:respu,项目名称:quince,代码行数:29,代码来源:table.cpp


示例3: outside_table_exception

unique_ptr<sql>
table_base::sql_update(
    const abstract_mapper_base &dest,
    const Src &src,
    const abstract_predicate &pred,
    const abstract_mapper_base *returning
) const {
    if (! is_subset(dest.columns(), _value_mapper.columns()))
        throw outside_table_exception(_binomen);

    unique_ptr<sql> cmd = _database.make_sql();
    cmd->write_update(_binomen, dest, src, readback_id());
    if (! a_priori_true(pred))  cmd->write_where(pred);
    if (returning != nullptr)  cmd->write_returning(*returning);
    return cmd;
}
开发者ID:respu,项目名称:quince,代码行数:16,代码来源:table.cpp


示例4:

void
class_mapper_base::adopt_untyped(const abstract_mapper_base &child) {
    _children.push_back(&child);
    if (! child.can_be_all_null())  forbid_all_null();
}
开发者ID:JoshuaBehrens,项目名称:quince,代码行数:5,代码来源:class_mapper_base.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ acc_api_t类代码示例发布时间:2022-05-31
下一篇:
C++ abort_callback类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap