libsequence  1.9.5
Operator overloads

Operator overloads. More...

Functions

template<typename T >
std::istream & Sequence::operator>> (std::istream &s, AlignStream< T > &c)
 
template<typename T >
std::ostream & Sequence::operator<< (std::ostream &s, const AlignStream< T > &c)
 
template<typename key , typename value >
std::vector< std::pair< key, value > > Sequence::operator+ (const std::vector< std::pair< key, value > > &lhs, const std::vector< std::pair< key, value > > &rhs)
 
template<typename key , typename value >
std::vector< std::pair< key, value > > Sequence::operator+= (std::vector< std::pair< key, value > > &lhs, const std::vector< std::pair< key, value > > &rhs)
 
template<typename key , typename value , typename comparison >
std::map< key, value, comparison > Sequence::operator+ (const std::map< key, value, comparison > &lhs, const std::map< key, value, comparison > &rhs)
 
template<typename key , typename value , typename comparison >
std::map< key, value, comparison > Sequence::operator+= (std::map< key, value, comparison > &lhs, const std::map< key, value, comparison > &rhs)
 
std::istream & Sequence::operator>> (std::istream &s, PolyTable &c)
 
std::ostream & Sequence::operator<< (std::ostream &o, const PolyTable &c)
 
std::ostream & Sequence::operator<< (std::ostream &s, const Seq &c)
 
std::istream & Sequence::operator>> (std::istream &s, Seq &c)
 
std::ostream & Sequence::coalsim::operator<< (std::ostream &s, const chromosome &c)
 output operator for chromosome types in coalescent simulation Outputs the segments contained by the chromosome
 
std::ostream & Sequence::coalsim::operator<< (std::ostream &s, const marginal &m)
 Write a marginal tree to an ostream.
 
std::ostream & Sequence::operator<< (std::ostream &stream, class SimParams &object)
 
std::istream & Sequence::operator>> (std::istream &s, SimParams &c)
 

Detailed Description

Operator overloads.

Function Documentation

◆ operator+() [1/2]

template<typename key , typename value >
std::vector<std::pair<key,value> > Sequence::operator+ ( const std::vector< std::pair< key, value > > &  lhs,
const std::vector< std::pair< key, value > > &  rhs 
)

Add 2 vectors of pairs together. The return vector contains all the elements of type T present in lhs and rhs. For all elements T that lhs and rhs have in common, the associated value of element I is the sum of the values in lhs and rhs.

Note
operator== must be defined for type T, and operator+ must be valid for type value

◆ operator+() [2/2]

template<typename key , typename value , typename comparison >
std::map<key,value,comparison> Sequence::operator+ ( const std::map< key, value, comparison > &  lhs,
const std::map< key, value, comparison > &  rhs 
)

Add 2 maps together. The return vector contains all the elements of type T present in lhs and rhs. For all elements T that lhs and rhs have in common, the associated value of element I is the sum of the values in lhs and rhs.

Note
operator== must be defined for type T, and operator+ must be valid for type value

◆ operator+=() [1/2]

template<typename key , typename value >
std::vector<std::pair<key,value> > Sequence::operator+= ( std::vector< std::pair< key, value > > &  lhs,
const std::vector< std::pair< key, value > > &  rhs 
)

operator+= for two vectors of pairs.

Note
operator== must be defined for type key, and operator+ must be valid for type value

◆ operator+=() [2/2]

template<typename key , typename value , typename comparison >
std::map<key,value,comparison> Sequence::operator+= ( std::map< key, value, comparison > &  lhs,
const std::map< key, value, comparison > &  rhs 
)

operator+= for two maps

Note
operator== must be defined for type key, and operator+ must be valid for type value

◆ operator<<() [1/4]

std::ostream& Sequence::operator<< ( std::ostream &  stream,
class SimParams object 
)

Writes the parameters passed to Dick Hudson's coalescent simulation program to an output stream.

Definition at line 99 of file SimParams.cc.

◆ operator<<() [2/4]

std::ostream & Sequence::operator<< ( std::ostream &  s,
const Seq c 
)

Allows objects derived from Sequence::Seq to be written to output streams. This operator acts by a call to the virtual funtion Sequence::Seq::print

Definition at line 254 of file Seq.cc.

◆ operator<<() [3/4]

template<typename T >
std::ostream& Sequence::operator<< ( std::ostream &  s,
const AlignStream< T > &  c 
)

Allows objects derived from Sequence::AlignStream to be printed to output streams. The operator works by calling the virtual function Sequence::AlignStream::print

Definition at line 179 of file AlignStream.hpp.

◆ operator<<() [4/4]

std::ostream & Sequence::operator<< ( std::ostream &  o,
const PolyTable c 
)

Allows objects derived from Sequence::PolyTable to be written out to streams

Definition at line 391 of file PolyTable.cc.

◆ operator>>() [1/4]

std::istream & Sequence::operator>> ( std::istream &  s,
SimParams c 
)

Allows the simulation parameters from Dick Hudson's coalescent simulation program to be read in from streams.

Definition at line 110 of file SimParams.cc.

◆ operator>>() [2/4]

std::istream & Sequence::operator>> ( std::istream &  s,
Seq c 
)

Allows objects derived from Sequence::Seq to be read from output streams. This operator acts by a call to the virtual funtion Sequence::Seq::read

Definition at line 260 of file Seq.cc.

◆ operator>>() [3/4]

template<typename T >
std::istream& Sequence::operator>> ( std::istream &  s,
AlignStream< T > &  c 
)

Allows objects derived from Sequence::AlignStream to be read in from input streams. The operator works by calling the virtual function Sequence::AlignStream::read

Definition at line 167 of file AlignStream.hpp.

◆ operator>>() [4/4]

std::istream & Sequence::operator>> ( std::istream &  s,
PolyTable c 
)

Allows objects derived from Sequence::PolyTable to be read in from streams

Definition at line 386 of file PolyTable.cc.