本文整理汇总了C++中msgpack::packer::pack_array方法的典型用法代码示例。如果您正苦于以下问题:C++ packer::pack_array方法的具体用法?C++ packer::pack_array怎么用?C++ packer::pack_array使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类msgpack::packer
的用法示例。
在下文中一共展示了packer::pack_array方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: msgpack_pack
void ContentFeatures::msgpack_pack(msgpack::packer<msgpack::sbuffer> &pk) const
{
pk.pack_map(38);
PACK(CONTENTFEATURES_NAME, name);
PACK(CONTENTFEATURES_GROUPS, groups);
PACK(CONTENTFEATURES_DRAWTYPE, (int)drawtype);
PACK(CONTENTFEATURES_VISUAL_SCALE, visual_scale);
pk.pack((int)CONTENTFEATURES_TILEDEF);
pk.pack_array(6);
for (size_t i = 0; i < 6; ++i)
pk.pack(tiledef[i]);
pk.pack((int)CONTENTFEATURES_TILEDEF_SPECIAL);
pk.pack_array(CF_SPECIAL_COUNT);
for (size_t i = 0; i < CF_SPECIAL_COUNT; ++i)
pk.pack(tiledef_special[i]);
PACK(CONTENTFEATURES_ALPHA, alpha);
PACK(CONTENTFEATURES_POST_EFFECT_COLOR, post_effect_color);
PACK(CONTENTFEATURES_PARAM_TYPE, (int)param_type);
PACK(CONTENTFEATURES_PARAM_TYPE_2, (int)param_type_2);
PACK(CONTENTFEATURES_IS_GROUND_CONTENT, is_ground_content);
PACK(CONTENTFEATURES_LIGHT_PROPAGATES, light_propagates);
PACK(CONTENTFEATURES_SUNLIGHT_PROPAGATES, sunlight_propagates);
PACK(CONTENTFEATURES_WALKABLE, walkable);
PACK(CONTENTFEATURES_POINTABLE, pointable);
PACK(CONTENTFEATURES_DIGGABLE, diggable);
PACK(CONTENTFEATURES_CLIMBABLE, climbable);
PACK(CONTENTFEATURES_BUILDABLE_TO, buildable_to);
PACK(CONTENTFEATURES_LIQUID_TYPE, (int)liquid_type);
PACK(CONTENTFEATURES_LIQUID_ALTERNATIVE_FLOWING, liquid_alternative_flowing);
PACK(CONTENTFEATURES_LIQUID_ALTERNATIVE_SOURCE, liquid_alternative_source);
PACK(CONTENTFEATURES_LIQUID_VISCOSITY, liquid_viscosity);
PACK(CONTENTFEATURES_LIQUID_RENEWABLE, liquid_renewable);
PACK(CONTENTFEATURES_LIGHT_SOURCE, light_source);
PACK(CONTENTFEATURES_DAMAGE_PER_SECOND, damage_per_second);
PACK(CONTENTFEATURES_NODE_BOX, node_box);
PACK(CONTENTFEATURES_SELECTION_BOX, selection_box);
PACK(CONTENTFEATURES_LEGACY_FACEDIR_SIMPLE, legacy_facedir_simple);
PACK(CONTENTFEATURES_LEGACY_WALLMOUNTED, legacy_wallmounted);
PACK(CONTENTFEATURES_SOUND_FOOTSTEP, sound_footstep);
PACK(CONTENTFEATURES_SOUND_DIG, sound_dig);
PACK(CONTENTFEATURES_SOUND_DUG, sound_dug);
PACK(CONTENTFEATURES_RIGHTCLICKABLE, rightclickable);
PACK(CONTENTFEATURES_DROWNING, drowning);
PACK(CONTENTFEATURES_LEVELED, leveled);
PACK(CONTENTFEATURES_WAVING, waving);
PACK(CONTENTFEATURES_MESH, mesh);
PACK(CONTENTFEATURES_COLLISION_BOX, collision_box);
}
示例2: pack
static inline
void
pack(msgpack::packer<Stream>& target, const raft::log_entry<StateMachine>& source) {
target.pack_array(2);
target << source.term();
type_traits<value_type>::pack(target, source.value());
}
示例3: pack
void compressive_storage::pack(
msgpack::packer<msgpack::sbuffer>& packer) const {
packer.pack_array(4);
packer.pack(static_cast<const storage&>(*this));
packer.pack(mine_);
packer.pack(status_);
packer.pack(*compressor_);
}
示例4: pack
static inline
void
pack(msgpack::packer<Stream>& target, const std::vector<T>& source) {
target.pack_array(source.size());
for(auto it = source.begin(); it != source.end(); ++it) {
type_traits<T>::pack(target, *it);
}
}
示例5: pack
static inline
void
pack(msgpack::packer<Stream>& packer,
const unique_id_t& source)
{
packer.pack_array(2);
packer << source.uuid[0];
packer << source.uuid[1];
}
示例6: pack
static inline
void
pack(msgpack::packer<Stream>& packer,
const unique_id_t& object)
{
packer.pack_array(2);
packer << object.uuid[0];
packer << object.uuid[1];
}
示例7: pack
static inline
void
pack(msgpack::packer<Stream>& packer,
const api::policy_t& source)
{
packer.pack_array(3);
packer << source.urgent;
packer << source.timeout;
packer << source.deadline;
}
示例8: pack
static inline
void
pack(msgpack::packer<Stream>& packer, const Json::Value& source) {
switch(source.type()) {
case Json::objectValue: {
packer.pack_map(source.size());
const Json::Value::Members keys(source.getMemberNames());
for(auto it = keys.begin(); it != keys.end(); ++it) {
packer << *it;
pack(packer, source[*it]);
}
} break;
case Json::arrayValue: {
packer.pack_array(source.size());
for(auto it = source.begin(); it != source.end(); ++it) {
pack(packer, *it);
}
} break;
case Json::booleanValue: {
packer << source.asBool();
} break;
case Json::stringValue: {
packer << source.asString();
} break;
case Json::realValue: {
packer << source.asDouble();
} break;
case Json::intValue: {
packer << source.asLargestInt();
} break;
case Json::uintValue: {
packer << source.asLargestUInt();
} break;
case Json::nullValue: {
packer << msgpack::type::nil();
}}
}
示例9: save
void Chunk::save(msgpack::packer<Poco::DeflatingOutputStream>& o) const
{
const bool has_meshes = false;
uint32_t array_size = 3;
if(has_meshes) array_size += 1;
o.pack_array(array_size);
const bool is_solid = this->solid_block != nullptr;
o.pack(is_solid);
if(is_solid)
{
o.pack(this->solid_block);
}
else
{
o.pack(this->blocks);
}
o.pack(has_meshes);
if(has_meshes)
{
o.pack(this->get_meshes());
}
}
示例10: msgpack_pack
void msgpack_pack(msgpack::packer<Buffer>& packer) const {
packer.pack_array(2);
packer.pack(static_cast<uint8_t>(type_));
packer.pack(static_cast<uint64_t>(bit_vector_length_));
}
示例11: pack
void pack(msgpack::packer<msgpack::sbuffer>& packer) const {
packer.pack_array(mixables_.size());
for (size_t i = 0; i < mixables_.size(); ++i) {
mixables_[i]->pack(packer);
}
}
示例12: pack
void simple_storage::pack(msgpack::packer<msgpack::sbuffer>& packer) const {
packer.pack_array(2);
packer.pack(static_cast<const storage&>(*this));
packer.pack(mine_);
}