vg
tools for working with variation graphs
|
#include <nodeside.hpp>
Public Member Functions | |
NodeSide (id_t node, bool is_end=false) | |
NodeSide () | |
Create a NodeSide for no Node. More... | |
bool | operator== (const NodeSide &other) const |
Equality operator. More... | |
bool | operator!= (const NodeSide &other) const |
Inequality operator. More... | |
bool | operator< (const NodeSide &other) const |
Comparison operator for sets and maps. More... | |
NodeSide | flip (void) const |
Reverse complement the node side, obtaining the other side of the same Node. More... | |
Visit | to_visit () const |
Convert to a Visit. More... | |
Static Public Member Functions | |
static pair< NodeSide, NodeSide > | pair_from_edge (Edge *e) |
Make an edge into a canonically ordered pair of NodeSides. More... | |
static pair< NodeSide, NodeSide > | pair_from_edge (const Edge &e) |
Make an edge into a canonically ordered pair of NodeSides. More... | |
static pair< NodeSide, NodeSide > | pair_from_start_edge (id_t start_id, const pair< id_t, bool > &oriented_other) |
static pair< NodeSide, NodeSide > | pair_from_end_edge (id_t end_id, const pair< id_t, bool > &oriented_other) |
Public Attributes | |
id_t | node |
What Node are we a side of? More... | |
bool | is_end |
Are we the end side? Or the start side? More... | |
Represents one side of a Node, identified by ID, for the purposes of indexing edges. TODO: duplicates much of the functionality of NodeTraversal, and causes API duplication to accomodate both. There should only be one.
|
inline |
Create a NodeSide for the given side of the given Node. We need this to be a converting constructor so we can represent the empty and deleted item keys in a pair_hash_map.
|
inline |
Reverse complement the node side, obtaining the other side of the same Node.
|
inline |
Inequality operator.
|
inline |
Comparison operator for sets and maps.
|
inline |
Equality operator.
Make an edge into a canonically ordered pair of NodeSides.
Make an edge into a canonically ordered pair of NodeSides.
|
inlinestatic |
Make a canonically ordered pair of NodeSides from an edge off of the end of a node, to another node in the given relative orientation.
|
inlinestatic |
Make a canonically ordered pair of NodeSides from an edge off of the start of a node, to another node in the given relative orientation.
bool vg::NodeSide::is_end |
Are we the end side? Or the start side?