Program Listing for File Hanoi.h
↰ Return to documentation for file (ADS/algorithm/Hanoi.h)
/*--------------------------------------------------------------------------*/
/*------------------------------ File Hanoi.h ------------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/
#ifndef __ADS_Hanoi
#define __ADS_Hanoi
/* self-identification: #endif constant */
/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/Contract.h"
#include "ADS/stack/ArrayStack.h"
#include <tuple>
#include <utility>
/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/
namespace ADS {
/*--------------------------------------------------------------------------*/
/*------------------------------ FUNCTIONS ---------------------------------*/
/*--------------------------------------------------------------------------*/
template< class F >
void hanoi_recursive( int n , int source , int dest , int middle , F && f );
/*--------------------------------------------------------------------------*/
template< class F >
void hanoi_iterative( int n , int source , int dest , int middle , F && f );
/*--------------------------------------------------------------------------*/
template< class F >
void hanoi_iterative_labels( int n , int source , int dest , int middle ,
F && f );
/*--------------------------------------------------------------------------*/
} // end( namespace ADS )
/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/algorithm/impl/Hanoi.tpp"
/*--------------------------------------------------------------------------*/
#endif /* Hanoi.h included */
/*--------------------------------------------------------------------------*/
/*---------------------------- End File Hanoi.h ----------------------------*/
/*--------------------------------------------------------------------------*/