/*****************************************************************************
 * $LastChangedDate: 2011-04-23 21:07:07 -0400 (Sat, 23 Apr 2011) $
 * @file
 * @author  Jim E. Brooks  http://www.palomino3d.org
 * @brief   C/C++ standard includes.
 *//*
 * LEGAL:   COPYRIGHT (C) 2004 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
 *****************************************************************************/

#ifndef BASE_CC_HH
#define BASE_CC_HH 1

// Speed compiling at expense of convenience.
#define BASE_MINIMIZE_INCLUDES 1

// C++'s C-compatible headers are supersets.
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#ifndef _MSC_VER
#include <stdint.h>  // C99 exact-size types
//#include <cstdint>  // [2009] not yet officially in GNU gcc
#else
#define NO_STDINT 1
#endif
#if ! BASE_MINIMIZE_INCLUDES
#include <cstdlib>
//#include <cstdio>
#include <cstring>
#include <climits>
#endif // BASE_MINIMIZE_INCLUDES

// C++ standard headers.
#include <string>
using std::string;
#if ! BASE_MINIMIZE_INCLUDES
#include <iostream>
#include <cmath>
#include <vector>
#include <list>
#include <deque>
#include <set>
#include <map>
#endif // BASE_MINIMIZE_INCLUDES
//using namespace std; // bad idea

#endif // BASE_CC_HH
