Program Listing for File Alignment.h

↰ Return to documentation for file (ADS/string/Alignment.h)

/*--------------------------------------------------------------------------*/
/*---------------------------- File Alignment.h ----------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/

#ifndef __ADS_Alignment
 #define __ADS_Alignment
                      /* self-identification: #endif constant */

/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/

#include <algorithm>
#include "ADS/Contract.h"

#include <cstddef>
#include <string>
#include <utility>
#include <vector>

/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/

namespace ADS {

enum class Alignment { GLOBAL , SEMIGLOBAL , LOCAL };

template< class S >
int alignmentScore( const S & P , const S & T , Alignment kind );

template< class S >
std::pair< S , S > globalAlignment( const S & P , const S & T ,
                                    typename S::value_type gap = ' ' );

/*--------------------------------------------------------------------------*/

}  // end( namespace ADS )

/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/

#include "ADS/string/impl/Alignment.tpp"

/*--------------------------------------------------------------------------*/

#endif  /* Alignment.h included */

/*--------------------------------------------------------------------------*/
/*-------------------------- End File Alignment.h --------------------------*/
/*--------------------------------------------------------------------------*/