|
Turi Create
4.0
|
Namespaces | |
| DOUBLE_RESERVED_FLAGS | |
| VECTOR_RESERVED_FLAGS | |
Classes | |
| struct | block_info |
| class | block_manager |
| class | block_writer |
| struct | decode_double_stream |
| struct | decode_double_stream_legacy |
| struct | decode_ndvector_stream |
| struct | decode_number_stream |
| struct | decode_string_stream |
| struct | decode_vector_stream |
| class | encoded_block |
| class | encoded_block_range |
| struct | typed_decode_stream |
Typedefs | |
| typedef std::tuple< size_t, size_t > | column_address |
| typedef std::tuple< size_t, size_t, size_t > | block_address |
Enumerations | |
| enum | BLOCK_FLAGS |
Functions | |
| void | encode_number (block_info &info, oarchive &oarc, const std::vector< flexible_type > &data) |
| void | decode_number (iarchive &iarc, std::vector< flexible_type > &ret, size_t num_undefined) |
| void | encode_double (block_info &info, oarchive &oarc, const std::vector< flexible_type > &data) |
| void | decode_double (iarchive &iarc, std::vector< flexible_type > &ret, size_t num_undefined) |
| void | decode_double_legacy (iarchive &iarc, std::vector< flexible_type > &ret, size_t num_undefined) |
| bool | typed_decode (const block_info &info, char *start, size_t len, std::vector< flexible_type > &ret) |
| void | typed_encode (const std::vector< flexible_type > &data, block_info &info, oarchive &oarc) |
SFrame v2 Format Implementation Detail
| typedef std::tuple<size_t, size_t, size_t> turi::v2_block_impl::block_address |
A block address is a tuple of segment_id, column number, block number within the segment
Definition at line 65 of file sarray_v2_block_types.hpp.
| typedef std::tuple<size_t, size_t> turi::v2_block_impl::column_address |
A column address is a tuple of segment_id, column number within the segment
Definition at line 59 of file sarray_v2_block_types.hpp.
Types of blocks
Definition at line 30 of file sarray_v2_block_types.hpp.
| void turi::v2_block_impl::decode_double | ( | iarchive & | iarc, |
| std::vector< flexible_type > & | ret, | ||
| size_t | num_undefined | ||
| ) |
Decodes a collection of doubles into 'data'. Entries in data which are of type flex_type_enum::UNDEFINED will be skipped, and there must be exactly num_undefined number of them.
This is the 2nd generation floating point encoder. its use is flagged by turning on the block flag BLOCK_ENCODING_EXTENSION. The format is basically:
| void turi::v2_block_impl::decode_double_legacy | ( | iarchive & | iarc, |
| std::vector< flexible_type > & | ret, | ||
| size_t | num_undefined | ||
| ) |
Decodes a collection of doubles into 'data'. Entries in data which are of type flex_type_enum::UNDEFINED will be skipped, and there must be exactly num_undefined number of them. It simply decodes a block using frame_of_reference_decode_128() and fills in data with it.
| void turi::v2_block_impl::decode_number | ( | iarchive & | iarc, |
| std::vector< flexible_type > & | ret, | ||
| size_t | num_undefined | ||
| ) |
Decodes a collection of numbers into 'data'. Entries in data which are of type flex_type_enum::UNDEFINED will be skipped, and there must be exactly num_undefined number of them. It simply decodes a block using frame_of_reference_decode_128() and fills in data with it.
| void turi::v2_block_impl::encode_double | ( | block_info & | info, |
| oarchive & | oarc, | ||
| const std::vector< flexible_type > & | data | ||
| ) |
Encodes a collection of doubles in data, skipping all UNDEFINED values. It simply loops through the data, collecting a block of up to MAX_INTEGERS_PER_BLOCK numbers and calls frame_of_reference_encode_128() on it.
This is the 2nd generation vector decoder. its use is flagged by turning on the block flag BLOCK_ENCODING_EXTENSION.
| void turi::v2_block_impl::encode_number | ( | block_info & | info, |
| oarchive & | oarc, | ||
| const std::vector< flexible_type > & | data | ||
| ) |
Encodes a collection of numbers in data, skipping all UNDEFINED values. It simply loops through the data, collecting a block of up to MAX_INTEGERS_PER_BLOCK numbers and calls frame_of_reference_encode_128() on it.
| bool turi::v2_block_impl::typed_decode | ( | const block_info & | info, |
| char * | start, | ||
| size_t | len, | ||
| std::vector< flexible_type > & | ret | ||
| ) |
Decodes a collection of flexible_type values. The array must be of contiguous type, but permitting undefined values.
See typed_encode() for details.
| void turi::v2_block_impl::typed_encode | ( | const std::vector< flexible_type > & | data, |
| block_info & | info, | ||
| oarchive & | oarc | ||
| ) |
Encodes a collection of flexible_type values. The array must be of contiguous type, but permitting undefined values.
There is a two byte header to the block.