class to hold encoded byte arrays for individual data fields (cigar, bases, etc.) during building of a Sam
More...
|
| | SamBuilderDataField () |
| | initialize a SamBuilderDataField to an empty value More...
|
| |
| | SamBuilderDataField (const void *copy_source, const uint32_t bytes_to_copy, const uint32_t num_elements) |
| | initialize a SamBuilderDataField by copying data from a raw pointer (takes no ownership of copy_source) More...
|
| |
| | SamBuilderDataField (std::unique_ptr< uint8_t[]> &&move_source, const uint32_t source_bytes, const uint32_t num_elements) |
| | initialize a SamBuilderDataField by moving an existing unique_ptr into it and taking ownership (without copying the existing data) More...
|
| |
| | SamBuilderDataField (SamBuilderDataField &&other) |
| | initialize a SamBuilderDataField via move from an existing field More...
|
| |
| SamBuilderDataField & | operator= (SamBuilderDataField &&other) |
| | move an existing SamBuildDataField into this one More...
|
| |
| | SamBuilderDataField (const SamBuilderDataField &other)=delete |
| |
| SamBuilderDataField & | operator= (const SamBuilderDataField &other)=delete |
| |
| | ~SamBuilderDataField ()=default |
| |
| const uint8_t * | raw_data_ptr () const |
| | gets a raw pointer to the data buffer More...
|
| |
| uint32_t | num_bytes () const |
| | number of bytes in the data buffer More...
|
| |
| uint32_t | num_elements () const |
| | number of elements (cigar operations, bases, etc.) in the data buffer More...
|
| |
| bool | empty () const |
| | does this field have any data? More...
|
| |
| void | update (const void *copy_source, const uint32_t bytes_to_copy, const uint32_t num_elements) |
| | update the field by copying data from a raw pointer (takes no ownership of copy_source) More...
|
| |
| void | update (std::unique_ptr< uint8_t[]> &&move_source, const uint32_t source_bytes, const uint32_t num_elements) |
| | update the field by moving an existing unique_ptr into it and taking ownership (without copying the existing data) More...
|
| |
| uint8_t * | copy_into (uint8_t *destination) const |
| | copy this field's byte array into an arbitrary location More...
|
| |
class to hold encoded byte arrays for individual data fields (cigar, bases, etc.) during building of a Sam
Fields can be created/updated either by copying data from raw pointers, or by moving managed pointers into them without copying. Eg.,
auto field = SamBuilderDataField{raw_pointer, num_bytes, num_elements}; // does a copy auto field = SamBuilderDataField{move(unique_ptr), num_bytes, num_elements}; // no copy
After construction, a field's value can be altered via the update() functions