本文整理汇总了C++中blob_t::data方法的典型用法代码示例。如果您正苦于以下问题:C++ blob_t::data方法的具体用法?C++ blob_t::data怎么用?C++ blob_t::data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类blob_t
的用法示例。
在下文中一共展示了blob_t::data方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: malloc
void zmq::object_t::send_bind (socket_base_t *destination_,
reader_t *in_pipe_, writer_t *out_pipe_, const blob_t &peer_identity_,
bool inc_seqnum_)
{
if (inc_seqnum_)
destination_->inc_seqnum ();
command_t cmd;
cmd.destination = destination_;
cmd.type = command_t::bind;
cmd.args.bind.in_pipe = in_pipe_;
cmd.args.bind.out_pipe = out_pipe_;
if (peer_identity_.empty ()) {
cmd.args.bind.peer_identity_size = 0;
cmd.args.bind.peer_identity = NULL;
}
else {
zmq_assert (peer_identity_.size () <= 0xff);
cmd.args.bind.peer_identity_size =
(unsigned char) peer_identity_.size ();
cmd.args.bind.peer_identity =
(unsigned char*) malloc (peer_identity_.size ());
zmq_assert (cmd.args.bind.peer_identity_size);
memcpy (cmd.args.bind.peer_identity, peer_identity_.data (),
peer_identity_.size ());
}
send_command (cmd);
}
示例2: memset
void zmq::object_t::send_bind (own_t *destination_, reader_t *in_pipe_,
writer_t *out_pipe_, const blob_t &peer_identity_, bool inc_seqnum_)
{
if (inc_seqnum_)
destination_->inc_seqnum ();
command_t cmd;
#if defined ZMQ_MAKE_VALGRIND_HAPPY
memset (&cmd, 0, sizeof (cmd));
#endif
cmd.destination = destination_;
cmd.type = command_t::bind;
cmd.args.bind.in_pipe = in_pipe_;
cmd.args.bind.out_pipe = out_pipe_;
if (peer_identity_.empty ()) {
cmd.args.bind.peer_identity_size = 0;
cmd.args.bind.peer_identity = NULL;
}
else {
zmq_assert (peer_identity_.size () <= 0xff);
cmd.args.bind.peer_identity_size =
(unsigned char) peer_identity_.size ();
cmd.args.bind.peer_identity =
(unsigned char*) malloc (peer_identity_.size ());
zmq_assert (cmd.args.bind.peer_identity_size);
memcpy (cmd.args.bind.peer_identity, peer_identity_.data (),
peer_identity_.size ());
}
send_command (cmd);
}
示例3: column_geometry
inline void column_geometry(sqlite3_stmt* stmt, int col, blob_t& blob)
{
using namespace brig::detail::ogc;
const uint8_t* data((const uint8_t*)lib::singleton().p_sqlite3_column_blob(stmt, col));
const int size(lib::singleton().p_sqlite3_column_bytes(stmt, col));
if (size <= 39) return;
blob.resize(size - 39);
const uint8_t byte_order(data[1]);
blob[0] = byte_order;
memcpy(blob.data() + 1, data + 39, blob.size() - 1);
uint8_t* ptr = blob.data() + 1;
switch (read<uint32_t>(byte_order, ptr))
{
default: throw std::runtime_error("SpatiaLite geometry error");
case Point:
case LineString:
case Polygon: return;
case MultiPoint:
case MultiLineString:
case MultiPolygon:
case GeometryCollection: break;
}
for (uint32_t i(0), count(read<uint32_t>(byte_order, ptr)); i < count; ++i)
{
write<uint8_t>(ptr, byte_order);
switch (read<uint32_t>(byte_order, ptr))
{
default: throw std::runtime_error("SpatiaLite geometry error");
case Point: skip_point(ptr); break;
case LineString: skip_line(byte_order, ptr); break;
case Polygon: skip_polygon(byte_order, ptr); break;
}
}
}
示例4: decode_and_push
int zmq::stream_engine_t::write_credential (msg_t *msg_)
{
zmq_assert (mechanism != NULL);
zmq_assert (session != NULL);
const blob_t credential = mechanism->get_user_id ();
if (credential.size () > 0) {
msg_t msg;
int rc = msg.init_size (credential.size ());
zmq_assert (rc == 0);
memcpy (msg.data (), credential.data (), credential.size ());
msg.set_flags (msg_t::credential);
rc = session->push_msg (&msg);
if (rc == -1) {
rc = msg.close ();
errno_assert (rc == 0);
return -1;
}
}
process_msg = &stream_engine_t::decode_and_push;
return decode_and_push (msg_);
}
示例5: operator
int operator()(const blob_t& r) const { return lib::singleton().p_sqlite3_bind_blob(stmt, i, r.data(), int(r.size()), SQLITE_STATIC); }
示例6:
binding_blob(SQLSMALLINT sql_type, const blob_t& blob) : m_sql_type(sql_type), m_ptr((void*)blob.data()), m_ind(blob.size()) {}
示例7: draw
inline void draw(const blob_t& wkb, const frame& fr, QPainter& painter)
{
auto ptr(wkb.data());
detail::draw_geometry(ptr, fr, painter);
}
示例8: transform_wkb
inline void transform_wkb(blob_t& wkb, projPJ in_pj, projPJ out_pj)
{
const blob_t::value_type* in_ptr(wkb.data());
blob_t::value_type* out_ptr((blob_t::value_type*)wkb.data());
detail::transform_geometry(in_ptr, out_ptr, in_pj, out_pj);
}