vg
tools for working with variation graphs
Classes | Typedefs | Functions
handlegraph Namespace Reference

Classes

struct  BoolReturningWrapper
 
struct  BoolReturningWrapper< Iteratee, Iterated, bool >
 This specialization handles wrapping bool-returning callables. More...
 
struct  BoolReturningWrapper< Iteratee, Iterated, void >
 This specialization handles wrapping void-returning callables. More...
 
class  DeletableHandleGraph
 
class  ExpandingOverlayGraph
 
struct  handle_t
 Represents the internal id of a node traversal. More...
 
class  HandleGraph
 
class  MutableHandleGraph
 
class  MutablePathDeletableHandleGraph
 
class  MutablePathHandleGraph
 
class  MutablePathMutableHandleGraph
 
struct  number_bool_packing
 Define a way to pack an integer and an orientation bit into a handle_t. More...
 
struct  path_handle_t
 Represents the internal id of a path entity. More...
 
class  PathForEachSocket
 
class  PathHandleGraph
 
class  PathPositionHandleGraph
 
class  RankedHandleGraph
 
class  SerializableHandleGraph
 
struct  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...
 
class  VectorizableHandleGraph
 

Typedefs

typedef long long int nid_t
 
typedef nid_t id_t
 
typedef std::size_t off_t
 Represents an offset. More...
 
typedef std::tuple< nid_t, bool, off_tpos_t
 Represents a position. More...
 
typedef std::pair< handle_t, handle_tedge_t
 Represents an edge in terms of its endpoints. More...
 

Functions

bool operator== (const handle_t &a, const handle_t &b)
 Define equality on handles. More...
 
bool operator!= (const handle_t &a, const handle_t &b)
 Define inequality on handles. More...
 
bool operator== (const path_handle_t &a, const path_handle_t &b)
 Define equality on path handles. More...
 
bool operator!= (const path_handle_t &a, const path_handle_t &b)
 Define inequality on path handles. More...
 
bool operator== (const step_handle_t &a, const step_handle_t &b)
 Define equality on step handles. More...
 
bool operator!= (const step_handle_t &a, const step_handle_t &b)
 Define inequality on step handles. More...
 
uint64_t & as_integer (handle_t &handle)
 View a handle as an integer. More...
 
const uint64_t & as_integer (const handle_t &handle)
 View a const handle as a const integer. More...
 
handle_tas_handle (uint64_t &value)
 View an integer as a handle. More...
 
const handle_tas_handle (const uint64_t &value)
 View a const integer as a const handle. More...
 
bool operator< (const handle_t &a, const handle_t &b)
 It's convenient to be able to sort handles. More...
 
uint64_t & as_integer (path_handle_t &handle)
 View a path handle as an integer. More...
 
const uint64_t & as_integer (const path_handle_t &handle)
 View a const path handle as a const integer. More...
 
path_handle_tas_path_handle (uint64_t &value)
 View an integer as a path handle. More...
 
const path_handle_tas_path_handle (const uint64_t &value)
 View a const integer as a const path handle. More...
 
bool operator< (const path_handle_t &a, const path_handle_t &b)
 It's convenient to be able to sort path handles. More...
 
int64_t * as_integers (step_handle_t &step_handle)
 View a step handle as an integer array. More...
 
const int64_t * as_integers (const step_handle_t &step_handle)
 View a const step handle as a const integer array. More...
 
bool operator< (const step_handle_t &a, const step_handle_t &b)
 Sort of step handles is based on first then second integers. More...
 

Typedef Documentation

◆ edge_t

typedef std::pair<handle_t, handle_t> handlegraph::edge_t

Represents an edge in terms of its endpoints.

◆ id_t

◆ nid_t

typedef long long int handlegraph::nid_t

Represents an id. We use "long long int" here so that we resolve to a consistent C-level type across platforms. On Mac, int64_t is "long long" while on Linux it is just "long", and generated code that resolves all typedefs (i.e. Python bindings) is thus not portable between them if we use int64_t.

◆ off_t

typedef std::size_t handlegraph::off_t

Represents an offset.

◆ pos_t

typedef std::tuple<nid_t, bool, off_t> handlegraph::pos_t

Represents a position.

Function Documentation

◆ as_handle() [1/2]

const handle_t& handlegraph::as_handle ( const uint64_t &  value)
inline

View a const integer as a const handle.

◆ as_handle() [2/2]

handle_t& handlegraph::as_handle ( uint64_t &  value)
inline

View an integer as a handle.

◆ as_integer() [1/4]

const uint64_t& handlegraph::as_integer ( const handle_t handle)
inline

View a const handle as a const integer.

◆ as_integer() [2/4]

const uint64_t& handlegraph::as_integer ( const path_handle_t handle)
inline

View a const path handle as a const integer.

◆ as_integer() [3/4]

uint64_t& handlegraph::as_integer ( handle_t handle)
inline

View a handle as an integer.

◆ as_integer() [4/4]

uint64_t& handlegraph::as_integer ( path_handle_t handle)
inline

View a path handle as an integer.

◆ as_integers() [1/2]

const int64_t* handlegraph::as_integers ( const step_handle_t step_handle)
inline

View a const step handle as a const integer array.

◆ as_integers() [2/2]

int64_t* handlegraph::as_integers ( step_handle_t step_handle)
inline

View a step handle as an integer array.

◆ as_path_handle() [1/2]

const path_handle_t& handlegraph::as_path_handle ( const uint64_t &  value)
inline

View a const integer as a const path handle.

◆ as_path_handle() [2/2]

path_handle_t& handlegraph::as_path_handle ( uint64_t &  value)
inline

View an integer as a path handle.

◆ operator!=() [1/3]

bool handlegraph::operator!= ( const handle_t a,
const handle_t b 
)

Define inequality on handles.

◆ operator!=() [2/3]

bool handlegraph::operator!= ( const path_handle_t a,
const path_handle_t b 
)

Define inequality on path handles.

◆ operator!=() [3/3]

bool handlegraph::operator!= ( const step_handle_t a,
const step_handle_t b 
)

Define inequality on step handles.

◆ operator<() [1/3]

bool handlegraph::operator< ( const handle_t a,
const handle_t b 
)
inline

It's convenient to be able to sort handles.

◆ operator<() [2/3]

bool handlegraph::operator< ( const path_handle_t a,
const path_handle_t b 
)
inline

It's convenient to be able to sort path handles.

◆ operator<() [3/3]

bool handlegraph::operator< ( const step_handle_t a,
const step_handle_t b 
)
inline

Sort of step handles is based on first then second integers.

◆ operator==() [1/3]

bool handlegraph::operator== ( const handle_t a,
const handle_t b 
)

Define equality on handles.

◆ operator==() [2/3]

bool handlegraph::operator== ( const path_handle_t a,
const path_handle_t b 
)

Define equality on path handles.

◆ operator==() [3/3]

bool handlegraph::operator== ( const step_handle_t a,
const step_handle_t b 
)

Define equality on step handles.