vdj_pipe
pipeline for processing DNA sequence data
Main Page
Namespaces
Classes
Files
File List
include
vdj_pipe
sequence_entry.hpp
Go to the documentation of this file.
1
7
#ifndef SEQUENCE_ENTRY_HPP_
8
#define SEQUENCE_ENTRY_HPP_
9
#include <string>
10
#include "boost/assert.hpp"
11
#include "boost/functional/hash.hpp"
12
#include "
vdj_pipe/detail/string_ref.hpp
"
13
#include "
vdj_pipe/object_ids.hpp
"
14
15
namespace
vdj_pipe
{
16
19
class
Seq_entry
{
20
public
:
21
explicit
Seq_entry
(
22
const
boost::string_ref seq =
""
,
23
const
Read_id
id
= Read_id()
24
)
25
: seq_(seq.begin(), seq.size()),
26
id_(
id
)
27
{}
28
29
unsigned
size()
const
{
return
seq_.size();}
30
std::string
const
& sequence()
const
{
return
seq_;}
31
bool
empty()
const
{
return
seq_.empty();}
32
Read_id id()
const
{
return
id_;}
33
34
private
:
35
std::string seq_;
36
Read_id id_;
37
};
38
41
inline
bool
operator==(
Seq_entry
const
& se1,
Seq_entry
const
& se2) {
42
return
se1.sequence() == se2.sequence();
43
}
44
47
inline
bool
operator==(
const
boost::string_ref se1,
Seq_entry
const
& se2) {
48
return
se1 == se2.sequence();
49
}
50
53
inline
bool
operator==(
Seq_entry
const
& se1,
const
boost::string_ref se2) {
54
return
se1.sequence() == se2;
55
}
56
59
inline
std::size_t hash_value(
Seq_entry
const
& se) {
60
return
boost::hash_value(se.sequence());
61
}
62
63
64
}
//namespace vdj_pipe
65
#endif
/* SEQUENCE_ENTRY_HPP_ */
object_ids.hpp
vdj_pipe
Main namespace of vdj_pipe library.
Definition:
sequence_file.hpp:14
string_ref.hpp
vdj_pipe::Seq_entry
Definition:
sequence_entry.hpp:19
Generated by
1.8.11