#include<spede.h>

/**
 * \file spede.cpp
 *
 * This file contains the implementation of the king of comedy.
 */

/**
 * \mainpage The Vast Comedian Project
 *
 * \section intro Introduction
 *
 * The purpose of this project is to model every single comedian
 * who has ever lived.
 *
 * \section sched Project schedule
 *
 * There is no real estimate on when this will be finished.
 */

/**
 * \namespace Comedy
 *
 * This contains everything that is funny.
 */

namespace Comedy {

/**
 * Do all the delicate movements that lead to a comical sound
 * emanating from a person.
 *
 * \param force how hard to move the hand.
 * \return something or another
 */
int gesticulate(int force) {
    // FIXME add implementation.
    return 0;
}

Spede::Spede() : num_movies(100) {
}

void Spede::slap_forehead() {
    gesticulate(42);
}

}
