vg
tools for working with variation graphs
Classes | Namespaces | Typedefs | Enumerations | Functions
types.hpp File Reference
#include <cstdint>
#include <utility>
#include <functional>
#include <limits>

Classes

struct  handlegraph::handle_t
 Represents a traversal of a node in a graph in a particular direction. More...
 
struct  handlegraph::path_handle_t
 Represents the internal id of a path entity. More...
 
struct  handlegraph::step_handle_t
 A step handle is an opaque reference to a single step of an oriented node on a path in a graph. More...
 
struct  handlegraph::net_handle_t
 
struct  std::hash< handlegraph::handle_t >
 
struct  std::hash< handlegraph::path_handle_t >
 
struct  std::hash< handlegraph::step_handle_t >
 
struct  std::hash< handlegraph::net_handle_t >
 
struct  std::hash< handlegraph::edge_t >
 

Namespaces

 handlegraph
 
 std
 Hash functor to hash NodeSides using std::hash.
 

Typedefs

typedef long long int handlegraph::nid_t
 
typedef nid_t handlegraph::id_t
 
typedef std::size_t handlegraph::offset_t
 Represents an offset. More...
 
typedef offset_t handlegraph::off_t
 
typedef std::pair< offset_t, offset_t > handlegraph::subrange_t
 Represents a range of offsets, 0-based, end-exclusive. More...
 
typedef std::tuple< nid_t, bool, offset_t > handlegraph::pos_t
 Represents a position. More...
 
typedef std::pair< handle_t, handle_t > handlegraph::edge_t
 Represents an edge in terms of its endpoints. More...
 

Enumerations

enum  handlegraph::PathSense { handlegraph::PathSense::GENERIC, handlegraph::PathSense::REFERENCE, handlegraph::PathSense::HAPLOTYPE }
 Represents a sense that a path can have. More...
 

Functions

bool handlegraph::operator== (const handle_t &a, const handle_t &b)
 Define equality on handles. More...
 
bool handlegraph::operator!= (const handle_t &a, const handle_t &b)
 Define inequality on handles. More...
 
bool handlegraph::operator== (const path_handle_t &a, const path_handle_t &b)
 Define equality on path handles. More...
 
bool handlegraph::operator== (const net_handle_t &a, const net_handle_t &b)
 Define equality on net handles. More...
 
bool handlegraph::operator!= (const path_handle_t &a, const path_handle_t &b)
 Define inequality on path handles. More...
 
bool handlegraph::operator== (const step_handle_t &a, const step_handle_t &b)
 Define equality on step handles. More...
 
bool handlegraph::operator!= (const step_handle_t &a, const step_handle_t &b)
 Define inequality on step handles. More...
 
bool handlegraph::operator!= (const net_handle_t &a, const net_handle_t &b)
 Define inequality on net handles. More...
 
size_t std::combine_hashes (const size_t &hsh1, const size_t hsh2)
 

Detailed Description

Defines the types used for handles, and user-facing operators to work with them.