vg
tools for working with variation graphs
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
vg::MIPayload Struct Reference

#include <min_distance.hpp>

Public Types

typedef std::uint64_t code_type
 

Static Public Member Functions

static code_type encode (std::tuple< bool, size_t, size_t, bool, size_t, size_t, size_t, size_t, bool > chain_pos)
 
static std::tuple< bool, size_t, size_t, bool, size_t, size_t, size_t, size_t, bool > decode (code_type code)
 

Static Public Attributes

constexpr static code_type NO_CODE = std::numeric_limits<code_type>::max()
 
constexpr static size_t NO_VALUE = std::numeric_limits<size_t>::max()
 
constexpr static size_t NODE_LEN_OFFSET = 1
 
constexpr static size_t END_LEN_OFFSET = 11
 
constexpr static size_t START_LEN_OFFSET = 21
 
constexpr static size_t RANK_OFFSET = 31
 
constexpr static size_t REV_OFFSET = 55
 
constexpr static size_t LENGTH_WIDTH = 10
 
constexpr static size_t RANK_WIDTH = 24
 
constexpr static code_type LENGTH_MASK = (static_cast<code_type>(1) << LENGTH_WIDTH) - 1
 
constexpr static code_type RANK_MASK = (static_cast<code_type>(1) << RANK_WIDTH) - 1
 
constexpr static size_t ID_OFFSET = 33
 
constexpr static size_t ID_WIDTH = 31
 
constexpr static size_t OFFSET_WIDTH = 32
 
constexpr static code_type OFFSET_MASK = (static_cast<code_type>(1) << OFFSET_WIDTH) - 1
 

Detailed Description

The encoding of distances for positions in top-level chains or top-level simple bubbles. Either stores (chain id, chain offset) for a position on a top-level chain, or (snarl rank, node length, start length, end length) for a position on a simple bubble We store this information in the minimizer index.

Member Typedef Documentation

◆ code_type

typedef std::uint64_t vg::MIPayload::code_type

Member Function Documentation

◆ decode()

static std::tuple<bool, size_t, size_t, bool, size_t, size_t, size_t, size_t, bool> vg::MIPayload::decode ( code_type  code)
inlinestatic

◆ encode()

static code_type vg::MIPayload::encode ( std::tuple< bool, size_t, size_t, bool, size_t, size_t, size_t, size_t, bool >  chain_pos)
inlinestatic

Member Data Documentation

◆ END_LEN_OFFSET

constexpr static size_t vg::MIPayload::END_LEN_OFFSET = 11
staticconstexpr

◆ ID_OFFSET

constexpr size_t vg::MIPayload::ID_OFFSET = 33
staticconstexpr

◆ ID_WIDTH

constexpr static size_t vg::MIPayload::ID_WIDTH = 31
staticconstexpr

◆ LENGTH_MASK

constexpr static code_type vg::MIPayload::LENGTH_MASK = (static_cast<code_type>(1) << LENGTH_WIDTH) - 1
staticconstexpr

◆ LENGTH_WIDTH

constexpr static size_t vg::MIPayload::LENGTH_WIDTH = 10
staticconstexpr

◆ NO_CODE

constexpr MIPayload::code_type vg::MIPayload::NO_CODE = std::numeric_limits<code_type>::max()
staticconstexpr

◆ NO_VALUE

constexpr size_t vg::MIPayload::NO_VALUE = std::numeric_limits<size_t>::max()
staticconstexpr

◆ NODE_LEN_OFFSET

constexpr static size_t vg::MIPayload::NODE_LEN_OFFSET = 1
staticconstexpr

◆ OFFSET_MASK

constexpr MIPayload::code_type vg::MIPayload::OFFSET_MASK = (static_cast<code_type>(1) << OFFSET_WIDTH) - 1
staticconstexpr

◆ OFFSET_WIDTH

constexpr static size_t vg::MIPayload::OFFSET_WIDTH = 32
staticconstexpr

◆ RANK_MASK

constexpr static code_type vg::MIPayload::RANK_MASK = (static_cast<code_type>(1) << RANK_WIDTH) - 1
staticconstexpr

◆ RANK_OFFSET

constexpr static size_t vg::MIPayload::RANK_OFFSET = 31
staticconstexpr

◆ RANK_WIDTH

constexpr static size_t vg::MIPayload::RANK_WIDTH = 24
staticconstexpr

◆ REV_OFFSET

constexpr static size_t vg::MIPayload::REV_OFFSET = 55
staticconstexpr

◆ START_LEN_OFFSET

constexpr static size_t vg::MIPayload::START_LEN_OFFSET = 21
staticconstexpr

The documentation for this struct was generated from the following files: