コード例 #1
0
ファイル: transformation.cpp プロジェクト: niubl/ironbee
static ib_status_t ibpp_transformation_translator(
    ib_mpool_t* mp,
    const ib_field_t* fin,
    const ib_field_t** fout,
    void *cbdata
)
{
    try {
        ConstTransformation::transformation_t transformation =
            data_to_value<ConstTransformation::transformation_t>(cbdata);

        ConstField result = transformation(MemoryPool(mp), ConstField(fin));

        *fout = result.ib();
    }
    catch (...) {
        return convert_exception();
    }

    return IB_OK;
}
コード例 #2
0
ファイル: transformation.cpp プロジェクト: niubl/ironbee
ConstField ConstTransformation::execute(
    MemoryPool pool,
    ConstField input
) const
{
    const ib_field_t* result;
    throw_if_error(ib_tfn_execute(
        pool.ib(),
        ib(),
        input.ib(),
        &result
    ));

    return ConstField(result);
}
コード例 #3
0
ファイル: operator.cpp プロジェクト: B0SB05/ironbee
int ConstOperatorInstance::execute(
    Transaction tx,
    ConstField input,
    Field capture
) const
{
    ib_num_t result;
    throw_if_error(
        ib_operator_inst_execute(
            ib(),
            tx.ib(),
            input.ib(),
            capture.ib(),
            &result
        )
    );

    return static_cast<int>(result);
}
コード例 #4
0
ファイル: field.cpp プロジェクト: strategist922/ironbee
// See api documentation for discussion of const_cast.
Field Field::remove_const(const ConstField& field)
{
    return Field(const_cast<ib_field_t*>(field.ib()));
}
コード例 #5
0
ファイル: constant.cpp プロジェクト: PutiZL/ironbee
void set(Context ctx, ConstField value)
{
    throw_if_error(ib_module_constant_set(ctx.ib(), value.ib()));
}