当前位置: 首页>>代码示例>>C++>>正文


C++ buffer::data方法代码示例

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


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

示例1: output

 void
 checkInflate(buffer const& input, buffer const& original)
 {
     for(std::size_t i = 0; i < input.size(); ++i)
     {
         buffer output(original.size());
         inflate_stream zs;
         zs.avail_in = 0;
         zs.next_in = 0;
         zs.next_out = output.data();
         zs.avail_out = output.capacity();
         if(i > 0)
         {
             zs.next_in = (Byte*)input.data();
             zs.avail_in = i;
             auto result = zs.write(Z_FULL_FLUSH);
             expect(result == Z_OK);
         }
         zs.next_in = (Byte*)input.data() + i;
         zs.avail_in = input.size() - i;
         auto result = zs.write(Z_FULL_FLUSH);
         output.resize(output.capacity() - zs.avail_out);
         expect(result == Z_OK);
         expect(output.size() == original.size());
         expect(std::memcmp(
             output.data(), original.data(), original.size()) == 0);
     }
 }
开发者ID:,项目名称:,代码行数:28,代码来源:

示例2: parse_notation_expr

static expr parse_notation_expr(parser & p, buffer<expr> const & locals) {
    auto pos = p.pos();
    expr r = p.parse_expr();
    r = abstract(r, locals.size(), locals.data());
    check_notation_expr(r, pos);
    return r;
}
开发者ID:GallagherCommaJack,项目名称:lean,代码行数:7,代码来源:notation_cmd.cpp

示例3: collect_and_normalize_dependencies

 /* Collect (and sort) dependencies of collected parameters */
 void collect_and_normalize_dependencies(buffer<expr> & norm_params) {
     name_map<expr> new_types;
     for (unsigned i = 0; i < m_params.size(); i++) {
         expr x = m_params[i];
         expr new_type = collect(m_ctx.instantiate_mvars(m_ctx.infer(x)));
         new_types.insert(mlocal_name(x), new_type);
     }
     local_context const & lctx = m_ctx.lctx();
     std::sort(m_params.begin(), m_params.end(), [&](expr const & l1, expr const & l2) {
             return lctx.get_local_decl(l1)->get_idx() < lctx.get_local_decl(l2)->get_idx();
         });
     for (unsigned i = 0; i < m_params.size(); i++) {
         expr x         = m_params[i];
         expr type      = *new_types.find(mlocal_name(x));
         expr new_type  = replace_locals(type, i, m_params.data(), norm_params.data());
         expr new_param = m_ctx.push_local(local_pp_name(x), new_type, local_info(x));
         norm_params.push_back(new_param);
     }
 }
开发者ID:sakas--,项目名称:lean,代码行数:20,代码来源:aux_definition.cpp

示例4: for_each

void parse_table::for_each(buffer<transition> & ts,
                           std::function<void(unsigned, transition const *,
                                              list<accepting> const &)> const & fn) const {
    if (!is_nil(m_ptr->m_accept))
        fn(ts.size(), ts.data(), m_ptr->m_accept);
    m_ptr->m_children.for_each([&](name const & k, list<pair<action, parse_table>> const & lst) {
            for (auto const & p : lst) {
                ts.push_back(transition(k, p.first));
                p.second.for_each(ts, fn);
                ts.pop_back();
            }
        });
}
开发者ID:vishallama,项目名称:lean,代码行数:13,代码来源:parse_table.cpp

示例5: mk_structure_instance

expr mk_structure_instance(name const & s, buffer<name> const & fns, buffer<expr> const & fvs) {
    lean_assert(fns.size() == fvs.size());
    return mk_structure_instance_core(s, to_list(fns), fvs.size(), fvs.data());
}
开发者ID:sakas--,项目名称:lean,代码行数:4,代码来源:structure_instance.cpp

示例6: memcmp

inline bool operator==(const buffer& lhs, const buffer& rhs) {
    if (lhs.size() == rhs.size()) {
        return memcmp(lhs.data(), rhs.data(), lhs.size()) == 0;
    }
    return false;
}
开发者ID:syoummer,项目名称:boost.actor,代码行数:6,代码来源:buffer.hpp

示例7: distribute_extra_args_over_minors

    /* Given a cases_on application, distribute extra arguments over minor premisses.

           cases_on major minor_1 ... minor_n a_1 ... a_n

       We apply a similar transformation at erase_irrelevant, but its effect can be undone
       in subsequent compilation steps.
    */
    void distribute_extra_args_over_minors(name const & I_name, buffer<name> const & cnames, buffer<expr> & args) {
        lean_assert(args.size() > cnames.size() + 1);
        unsigned nparams = *inductive::get_num_params(env(), I_name);
        for (unsigned i = 0; i < cnames.size(); i++) {
            unsigned carity  = get_constructor_arity(env(), cnames[i]);
            unsigned data_sz = carity - nparams;
            type_context::tmp_locals locals(ctx());
            expr new_minor   = args[i+1];
            for (unsigned j = 0; j < data_sz; j++) {
                if (!is_lambda(new_minor))
                    throw exception("unexpected occurrence of 'cases_on' expression, "
                                    "the minor premise is expected to be a lambda-expression");
                expr local = locals.push_local_from_binding(new_minor);
                new_minor  = instantiate(binding_body(new_minor), local);
            }
            new_minor = beta_reduce(mk_app(new_minor, args.size() - cnames.size() - 1, args.data() + cnames.size() + 1));
            args[i+1] = locals.mk_lambda(new_minor);
        }
        args.shrink(cnames.size() + 1);
    }
开发者ID:soonhokong,项目名称:lean-osx,代码行数:27,代码来源:simp_inductive.cpp

示例8: reallocate

		inline void cipher_stream::reallocate(size_t alloc)
		{
			m_buffer.data().resize(alloc);
		}
开发者ID:reaper,项目名称:libcryptoplus,代码行数:4,代码来源:cipher_stream.hpp

示例9: replace_locals

expr replace_locals(expr const & e, buffer<expr> const & locals, buffer<expr> const & terms) {
    lean_assert(locals.size() == terms.size());
    lean_assert(std::all_of(locals.begin(), locals.end(), is_local));
    return replace_locals(e, locals.size(), locals.data(), terms.data());
}
开发者ID:sakas--,项目名称:lean,代码行数:5,代码来源:locals.cpp

示例10: memcpy

buffer<T>::buffer(const buffer& rhs)
        : size_{rhs.size_}
        , buf_{type_trait<T>::alloc(size_)} {
    memcpy(data(), rhs.data(), size_ * sizeof(T));
}
开发者ID:reuk,项目名称:wayverb,代码行数:5,代码来源:buffer.cpp

示例11: buffer_size

	inline size_t buffer_size(const buffer& buf)
	{
		return buf.data().size();
	}
开发者ID:0ver6tm,项目名称:freelan-all,代码行数:4,代码来源:buffer.hpp

示例12:

	inline bool operator<(const buffer& lhs, const buffer& rhs)
	{
		return lhs.data() < rhs.data();
	}
开发者ID:0ver6tm,项目名称:freelan-all,代码行数:4,代码来源:buffer.hpp

示例13: buffer_cast

	T buffer_cast(const buffer& buf)
	{
		return reinterpret_cast<T>(&buf.data()[0]);
	}
开发者ID:0ver6tm,项目名称:freelan-all,代码行数:4,代码来源:buffer.hpp

示例14: p

table(buffer& a) : p(a.data()), sz(a.size()) {}
开发者ID:dadavita,项目名称:stalk,代码行数:1,代码来源:buffer_l.hpp

示例15: array

 array(buffer& a) : p(a.data()), sz(a.size()) {}
开发者ID:dadavita,项目名称:stalk,代码行数:1,代码来源:buffer_l.hpp


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