/*****************************************************************************
 * $LastChangedDate: 2011-04-23 21:07:07 -0400 (Sat, 23 Apr 2011) $
 * @file
 * @author  Jim E. Brooks  http://www.palomino3d.org
 * @brief   This is an "include template" to avoid duplication in every module's conf.hh.
 * LEGAL:   COPYRIGHT (C) 2011 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
 *****************************************************************************/

// -- include this after a module's Conf class --

std::ostream& operator<<( std::ostream& strm, const Conf& conf );

// "global" is a namespace.  "gGlobals" is a var (instance of Globals class).
//#if ! DOXYGEN
namespace global { extern Conf gConf; }  // namespace global
//#endif

// gcc 4.2 will optimize-away this function (as fast as a data member access in release).
INLINE Conf& GET_CONF( void ) { ASSERT(global::gConf.mValid);
                                return global::gConf; }
