本文整理汇总了C++中blob_t::size方法的典型用法代码示例。如果您正苦于以下问题:C++ blob_t::size方法的具体用法?C++ blob_t::size怎么用?C++ blob_t::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类blob_t
的用法示例。
在下文中一共展示了blob_t::size方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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;
}
}
}
示例2: operator
int operator()(const blob_t& r) const { return lib::singleton().p_sqlite3_bind_blob(stmt, i, r.data(), int(r.size()), SQLITE_STATIC); }
示例3:
binding_blob(SQLSMALLINT sql_type, const blob_t& blob) : m_sql_type(sql_type), m_ptr((void*)blob.data()), m_ind(blob.size()) {}