<commit_before>/**
 * @file    fasta_loader.hpp
 * @ingroup bliss::io
 * @author  cjain
 * @brief   contains a FileLoader subclass to perform distributed and concurrent FASTA file access.
 *
 * Copyright (c) 2014 Georgia Institute of Technology.  All Rights Reserved.
 *
 * TODO add License
 */

#ifndef FASTA_PARTITIONER_HPP_
#define FASTA_PARTITIONER_HPP_

#include <sstream>
#include <iterator>  // for ostream_iterator
#include <algorithm> // for copy.

#include "bliss-config.hpp"

#include "common/base_types.hpp"
#include "io/file_loader.hpp"
#include "mxx/datatypes.hpp"

#include "mxx/datatypes.hpp"

#include "io/mxx_support.hpp"


// include MPI
#if defined(USE_MPI)
#include "mpi.h"
#endif

namespace bliss
{
  namespace io
  {
    //dummy struct to indicate FASTA format
    struct FASTA {
        using SequenceId = size_t;
    };


    /**
     * @class FASTALoader
     * @brief FileLoader subclass specialized for the FASTA file format
     */
    template<typename Iterator, typename KmerType>
    class FASTALoader
    {
      protected:

        /// constant representing the EOL character
        static const typename std::iterator_traits<Iterator>::value_type eol = '\n';<commit_msg>FIX: missing include<commit_after>/**
 * @file    fasta_loader.hpp
 * @ingroup bliss::io
 * @author  cjain
 * @brief   contains a FileLoader subclass to perform distributed and concurrent FASTA file access.
 *
 * Copyright (c) 2014 Georgia Institute of Technology.  All Rights Reserved.
 *
 * TODO add License
 */

#ifndef FASTA_PARTITIONER_HPP_
#define FASTA_PARTITIONER_HPP_

#include <sstream>
#include <iterator>  // for ostream_iterator
#include <algorithm> // for copy.

#include "bliss-config.hpp"

#include "common/base_types.hpp"
#include "io/file_loader.hpp"
#include "mxx/datatypes.hpp"

#include "io/mxx_support.hpp"


// include MPI
#if defined(USE_MPI)
#include "mpi.h"
#endif

namespace bliss
{
  namespace io
  {
    //dummy struct to indicate FASTA format
    struct FASTA {
        using SequenceId = size_t;
    };


    /**
     * @class FASTALoader
     * @brief FileLoader subclass specialized for the FASTA file format
     */
    template<typename Iterator, typename KmerType>
    class FASTALoader
    {
      protected:

        /// constant representing the EOL character
        static const typename std::iterator_traits<Iterator>::value_type eol = '\n';
{'fraction_non_alphanumeric': 0.0996232733361239, 'fraction_numerical': 0.0033486814566764337, 'mean_word_length': 3.3933823529411766, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2848095', 'n_tokens_mistral': 796, 'n_tokens_neox': 742, 'n_words': 219}