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

C++ checked_get_container_size函数代码示例

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

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



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

示例1: operator

 msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const char(&v)[N]) const {
     char const* p = v;
     uint32_t size = checked_get_container_size(std::strlen(p));
     o.pack_str(size);
     o.pack_str_body(p, size);
     return o;
 }
开发者ID:Occite,项目名称:msgpack-c,代码行数:7,代码来源:carray.hpp


示例2: checked_get_container_size

inline void operator<< (msgpack::object& o, const std::string& v)
{
    uint32_t size = checked_get_container_size(v.size());
    o.type = msgpack::type::STR;
    o.via.str.ptr = v.data();
    o.via.str.size = size;
}
开发者ID:JerkWisdom,项目名称:zpublic,代码行数:7,代码来源:string.hpp


示例3: operator

    void operator()(msgpack::object::with_zone& o, const std::vector<T>& v) const {
        o.type = msgpack::type::ARRAY;
        if(v.empty()) {
            o.via.array.ptr = nullptr;
            o.via.array.size = 0;
        } else {
            uint32_t size = checked_get_container_size(v.size());
            msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size));
            msgpack::object* const pend = p + size;
            o.via.array.ptr = p;
            o.via.array.size = size;
            typename std::vector<T>::const_iterator it(v.begin());
            do {
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
#endif // defined(__GNUC__) && !defined(__clang__)
                *p = msgpack::object(*it, o.zone);
#if defined(__GNUC__) && !defined(__clang__)
#pragma GCC diagnostic pop
#endif // defined(__GNUC__) && !defined(__clang__)
                ++p;
                ++it;
            } while(p < pend);
        }
    }
开发者ID:EricLau2018,项目名称:msgpack-c,代码行数:26,代码来源:vector.hpp


示例4: operator

    clmdep_msgpack::packer<Stream>& operator()(clmdep_msgpack::packer<Stream>& o, const std::array<unsigned char, N>& v) const {
        uint32_t size = checked_get_container_size(v.size());
        o.pack_bin(size);
        o.pack_bin_body(reinterpret_cast<char const*>(v.data()), size);

        return o;
    }
开发者ID:rpclib,项目名称:rpclib,代码行数:7,代码来源:array_unsigned_char.hpp


示例5: operator

    msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const std::array<char, N>& v) const {
        uint32_t size = checked_get_container_size(v.size());
        o.pack_bin(size);
        o.pack_bin_body(v.data(), size);

        return o;
    }
开发者ID:1234224576,项目名称:ProfileMaker,代码行数:7,代码来源:array_char.hpp


示例6: operator

    msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const std::vector<char, Alloc>& v) const {
        uint32_t size = checked_get_container_size(v.size());
        o.pack_bin(size);
        o.pack_bin_body(&v.front(), size);

        return o;
    }
开发者ID:apre,项目名称:msgpack-c,代码行数:7,代码来源:vector_char.hpp


示例7: operator

 msgpack::packer<Stream>& operator()(
     msgpack::packer<Stream>& o,
     const std::tuple<Args...>& v) const {
     uint32_t size = checked_get_container_size(sizeof...(Args));
     o.pack_array(size);
     StdTuplePacker<Stream, decltype(v), sizeof...(Args)>::pack(o, v);
     return o;
 }
开发者ID:1234224576,项目名称:ProfileMaker,代码行数:8,代码来源:tuple.hpp


示例8: operator

 void operator()(clmdep_msgpack::object::with_zone& o, const std::string& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.type = clmdep_msgpack::type::STR;
     char* ptr = static_cast<char*>(o.zone.allocate_align(size));
     o.via.str.ptr = ptr;
     o.via.str.size = size;
     std::memcpy(ptr, v.data(), v.size());
 }
开发者ID:rpclib,项目名称:rpclib,代码行数:8,代码来源:string.hpp


示例9: operator

 void operator()(msgpack::object& o, const std::vector<char, Alloc>& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.type = msgpack::type::BIN;
     if (size != 0) {
         o.via.bin.ptr = &v.front();
     }
     o.via.bin.size = size;
 }
开发者ID:darrenjs,项目名称:nexio,代码行数:8,代码来源:vector_char.hpp


示例10: operator

 clmdep_msgpack::packer<Stream>& operator()(clmdep_msgpack::packer<Stream>& o, const std::set<T, Compare, Alloc>& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.pack_array(size);
     for (typename std::set<T, Compare, Alloc>::const_iterator it(v.begin()), it_end(v.end());
         it != it_end; ++it) {
         o.pack(*it);
     }
     return o;
 }
开发者ID:rpclib,项目名称:rpclib,代码行数:9,代码来源:set.hpp


示例11: operator

     msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const std::unordered_multiset<T>& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.pack_array(size);
     for(typename std::unordered_multiset<T>::const_iterator it(v.begin()), it_end(v.end());
         it != it_end; ++it) {
         o.pack(*it);
     }
     return o;
 }
开发者ID:1234224576,项目名称:ProfileMaker,代码行数:9,代码来源:unordered_set.hpp


示例12: operator

     msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const std::unordered_map<K, V, Hash, Compare, Alloc>& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.pack_map(size);
     for(typename std::unordered_map<K, V, Hash, Compare, Alloc>::const_iterator it(v.begin()), it_end(v.end());
         it != it_end; ++it) {
         o.pack(it->first);
         o.pack(it->second);
     }
     return o;
 }
开发者ID:DarumasLegs,项目名称:volumedriver,代码行数:10,代码来源:unordered_map.hpp


示例13: operator

 clmdep_msgpack::packer<Stream>& operator()(clmdep_msgpack::packer<Stream>& o, const MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.pack_map(size);
     for(typename MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>::const_iterator it(v.begin()), it_end(v.end());
         it != it_end; ++it) {
         o.pack(it->first);
         o.pack(it->second);
     }
     return o;
 }
开发者ID:EttusResearch,项目名称:uhd,代码行数:10,代码来源:unordered_map.hpp


示例14: operator

 void operator()(clmdep_msgpack::object::with_zone& o, const std::forward_list<T, Alloc>& v) const {
     o.type = clmdep_msgpack::type::ARRAY;
     if(v.empty()) {
         o.via.array.ptr = nullptr;
         o.via.array.size = 0;
     } else {
         uint32_t size = checked_get_container_size(std::distance(v.begin(), v.end()));
         o.via.array.size = size;
         clmdep_msgpack::object* p = static_cast<clmdep_msgpack::object*>(
             o.zone.allocate_align(sizeof(clmdep_msgpack::object)*size));
         o.via.array.ptr = p;
         for(auto const& e : v) *p++ = clmdep_msgpack::object(e, o.zone);
     }
 }
开发者ID:rpclib,项目名称:rpclib,代码行数:14,代码来源:forward_list.hpp


示例15: operator

 void operator()(msgpack::object::with_zone& o, const std::set<T, Compare, Alloc>& v) const {
     o.type = msgpack::type::ARRAY;
     if (v.empty()) {
         o.via.array.ptr = MSGPACK_NULLPTR;
         o.via.array.size = 0;
     }
     else {
         uint32_t size = checked_get_container_size(v.size());
         msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
         msgpack::object* const pend = p + size;
         o.via.array.ptr = p;
         o.via.array.size = size;
         typename std::set<T, Compare, Alloc>::const_iterator it(v.begin());
         do {
             *p = msgpack::object(*it, o.zone);
             ++p;
             ++it;
         } while(p < pend);
     }
 }
开发者ID:BrainlessLabs,项目名称:bun,代码行数:20,代码来源:set.hpp


示例16: operator

 void operator()(clmdep_msgpack::object& o, const boost::string_ref& v) const {
     uint32_t size = checked_get_container_size(v.size());
     o.type = clmdep_msgpack::type::STR;
     o.via.str.ptr = v.data();
     o.via.str.size = size;
 }
开发者ID:rpclib,项目名称:rpclib,代码行数:6,代码来源:string_ref.hpp



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ checker函数代码示例发布时间:2022-05-30
下一篇:
C++ checked函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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