vdj_pipe
pipeline for processing DNA sequence data
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
vdj_pipe::detail::Id_bimap< Id, Obj > Class Template Reference

#include <id_bimap.hpp>

Collaboration diagram for vdj_pipe::detail::Id_bimap< Id, Obj >:
Collaboration graph
[legend]

Classes

class  Equal_id
 
class  Equal_obj
 
class  Hash_id
 

Public Types

typedef Id_bimap self_type
 
typedef Obj obj_type
 
typedef Id id_type
 
typedef map_t::value_type value_type
 
typedef map_t::iterator iterator
 
typedef map_t::const_iterator const_iterator
 
typedef base_exception Err
 

Public Member Functions

 Id_bimap (const id_type id0)
 
 Id_bimap (self_type const &bm)
 
self_typeoperator= (self_type const &bm)
 
std::size_t size () const
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
id_type min_id () const
 
id_type max_id () const
 
obj_type const & operator[] (const id_type id) const
 
obj_typeoperator[] (const id_type id)
 
obj_type const & at (const id_type id) const
 
obj_typeat (const id_type id)
 
template<class ObjCompat >
id_type const * find (ObjCompat const &obj) const
 
std::pair< id_type, bool > insert (obj_type const &obj)
 
void erase (const id_type id)
 
void clear ()
 

Private Types

typedef boost::unordered_set< id_type, Hash_id, Equal_idmap_t
 
typedef std::vector< obj_typevector_t
 

Private Member Functions

std::size_t vpos (const id_type id) const
 
id_type pos2id (const std::size_t n) const
 
void copy (self_type const &bm)
 

Private Attributes

vector_t vid_
 
map_t map_
 
std::vector< id_typeerased_
 
id_type id0_
 

Member Typedef Documentation

template<class Id, class Obj>
typedef map_t::const_iterator vdj_pipe::detail::Id_bimap< Id, Obj >::const_iterator
template<class Id, class Obj>
typedef base_exception vdj_pipe::detail::Id_bimap< Id, Obj >::Err
template<class Id, class Obj>
typedef Id vdj_pipe::detail::Id_bimap< Id, Obj >::id_type
template<class Id, class Obj>
typedef map_t::iterator vdj_pipe::detail::Id_bimap< Id, Obj >::iterator
template<class Id, class Obj>
typedef boost::unordered_set<id_type, Hash_id, Equal_id> vdj_pipe::detail::Id_bimap< Id, Obj >::map_t
private
template<class Id, class Obj>
typedef Obj vdj_pipe::detail::Id_bimap< Id, Obj >::obj_type
template<class Id, class Obj>
typedef Id_bimap vdj_pipe::detail::Id_bimap< Id, Obj >::self_type
template<class Id, class Obj>
typedef map_t::value_type vdj_pipe::detail::Id_bimap< Id, Obj >::value_type
template<class Id, class Obj>
typedef std::vector<obj_type> vdj_pipe::detail::Id_bimap< Id, Obj >::vector_t
private

Constructor & Destructor Documentation

template<class Id, class Obj>
vdj_pipe::detail::Id_bimap< Id, Obj >::Id_bimap ( const id_type  id0)
inlineexplicit
template<class Id, class Obj>
vdj_pipe::detail::Id_bimap< Id, Obj >::Id_bimap ( self_type const &  bm)
inlineexplicit

Member Function Documentation

template<class Id, class Obj>
obj_type const& vdj_pipe::detail::Id_bimap< Id, Obj >::at ( const id_type  id) const
inline
template<class Id, class Obj>
obj_type& vdj_pipe::detail::Id_bimap< Id, Obj >::at ( const id_type  id)
inline
template<class Id, class Obj>
const_iterator vdj_pipe::detail::Id_bimap< Id, Obj >::begin ( ) const
inline
template<class Id, class Obj>
void vdj_pipe::detail::Id_bimap< Id, Obj >::clear ( )
inline
template<class Id, class Obj>
void vdj_pipe::detail::Id_bimap< Id, Obj >::copy ( self_type const &  bm)
inlineprivate
template<class Id, class Obj>
bool vdj_pipe::detail::Id_bimap< Id, Obj >::empty ( ) const
inline
template<class Id, class Obj>
const_iterator vdj_pipe::detail::Id_bimap< Id, Obj >::end ( ) const
inline
template<class Id, class Obj>
void vdj_pipe::detail::Id_bimap< Id, Obj >::erase ( const id_type  id)
inline
template<class Id, class Obj>
template<class ObjCompat >
id_type const* vdj_pipe::detail::Id_bimap< Id, Obj >::find ( ObjCompat const &  obj) const
inline
template<class Id, class Obj>
std::pair<id_type, bool> vdj_pipe::detail::Id_bimap< Id, Obj >::insert ( obj_type const &  obj)
inline
template<class Id, class Obj>
id_type vdj_pipe::detail::Id_bimap< Id, Obj >::max_id ( ) const
inline
template<class Id, class Obj>
id_type vdj_pipe::detail::Id_bimap< Id, Obj >::min_id ( ) const
inline
template<class Id, class Obj>
self_type& vdj_pipe::detail::Id_bimap< Id, Obj >::operator= ( self_type const &  bm)
inline
template<class Id, class Obj>
obj_type const& vdj_pipe::detail::Id_bimap< Id, Obj >::operator[] ( const id_type  id) const
inline
template<class Id, class Obj>
obj_type& vdj_pipe::detail::Id_bimap< Id, Obj >::operator[] ( const id_type  id)
inline
template<class Id, class Obj>
id_type vdj_pipe::detail::Id_bimap< Id, Obj >::pos2id ( const std::size_t  n) const
inlineprivate
template<class Id, class Obj>
std::size_t vdj_pipe::detail::Id_bimap< Id, Obj >::size ( ) const
inline
template<class Id, class Obj>
std::size_t vdj_pipe::detail::Id_bimap< Id, Obj >::vpos ( const id_type  id) const
inlineprivate

Member Data Documentation

template<class Id, class Obj>
std::vector<id_type> vdj_pipe::detail::Id_bimap< Id, Obj >::erased_
private
template<class Id, class Obj>
id_type vdj_pipe::detail::Id_bimap< Id, Obj >::id0_
private
template<class Id, class Obj>
map_t vdj_pipe::detail::Id_bimap< Id, Obj >::map_
private
template<class Id, class Obj>
vector_t vdj_pipe::detail::Id_bimap< Id, Obj >::vid_
private

The documentation for this class was generated from the following file: