Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Header <boost/genetics/utils.hpp>


BOOST_GENETICS_IS_WIN64
namespace boost {
  namespace genetics {
    struct common_traits;
    struct mapped_traits;

    template<typename Type> class mapped_vector;
    class mapper;

    struct unmapped_traits;

    class writer;

    typedef long long int64_t;
    typedef unsigned short uint16_t;
    typedef unsigned int uint32_t;
    typedef unsigned long long uint64_t;
    typedef unsigned char uint8_t;
    int base_to_code(unsigned int chr);
    char code_to_base(int code);
    size_t count_word(uint64_t x, bool has_popcnt);

    // Consistent interface to get a code (0..3) from a string. Note there is a specialisation for dna_string. 
    template<typename StringType> 
      int get_code(const StringType & str, size_t index);
    template<typename StringType> 
      uint64_t get_index(const StringType & str, size_t pos, 
                         size_t num_index_chars);
    bool has_lzcnt();
    bool has_popcnt();
    bool is_base(unsigned int chr);
    bool is_whitespace(int chr);
    int lzcnt(uint64_t value, bool has_lzcnt);
    int popcnt(uint64_t value, bool has_popcnt);
    template<typename Type> 
      Type rev_comp(const Type & x, typename Type::iterator * b = 0);
    uint64_t rev_comp_word(uint64_t x);
    const char * to_dna(uint64_t value, size_t len);
    template<typename Ptr> void touch_nta(Ptr ptr);
    template<typename Ptr> void touch_stream(Ptr ptr);
  }
}

PrevUpHomeNext