/************************************************************************/
/*                                                                      */
/*               Copyright 1998-2002 by Ullrich Koethe                  */
/*       Cognitive Systems Group, University of Hamburg, Germany        */
/*                                                                      */
/*    This file is part of the VIGRA computer vision library.           */
/*    ( Version 1.3.2, Jan 27 2005 )                                    */
/*    You may use, modify, and distribute this software according       */
/*    to the terms stated in the LICENSE file included in               */
/*    the VIGRA distribution.                                           */
/*                                                                      */
/*    The VIGRA Website is                                              */
/*        http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/      */
/*    Please direct questions, bug reports, and contributions to        */
/*        koethe@informatik.uni-hamburg.de                              */
/*                                                                      */
/*  THIS SOFTWARE IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR          */
/*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED      */
/*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */
/*                                                                      */
/************************************************************************/


#ifndef VIGRA_BASICS_HXX
#define VIGRA_BASICS_HXX

#include "vigra/config.hxx"
#include "vigra/error.hxx"
#include "vigra/metaprogramming.hxx"
#include "vigra/tuple.hxx"
#include "vigra/diff2d.hxx"
#include "vigra/mathutil.hxx"

/*! \page Utilities Utilities
    Basic helper functionality needed throughout.

    <DL>
    <DT>
    <IMG BORDER=0 ALT="-" SRC="documents/bullet.gif">
     \ref vigra::ArrayVector
     <DD><em>replacement for std::vector</em>
    <DT>
    <IMG BORDER=0 ALT="-" SRC="documents/bullet.gif">
     \ref RangesAndPoints
     <DD><em>2-dimensioanl positions, extents, amd rectangles</em>
    <DT>
    <IMG BORDER=0 ALT="-" SRC="documents/bullet.gif">
     \ref PixelNeighborhood
     <DD><em>4- and 8-neighborhood definitions and circulators</em>
    <DT>
    <IMG BORDER=0 ALT="-" SRC="documents/bullet.gif">
     \ref vigra::IteratorAdaptor
     <DD><em>Quickly create STL-compatible 1D iterator adaptors</em>
     <DT>
    <IMG BORDER=0 ALT="-" SRC="documents/bullet.gif">
     \ref TupleTypes
     <DD><em>pair, triple, tuple4, tuple5</em>
      <DT>
    <IMG BORDER=0 ALT="-" SRC="documents/bullet.gif">
     \ref MathConstants
     <DD><em>M_PI, M_SQRT2</em>
    </DL>
*/

#endif // VIGRA_BASICS_HXX
