/// @file
/// MyLib library global stuff implementation.
/// @author Terry Golubiewski
/// @copyright 2014 Rockwell Collins.  All rights reserved.

#include "MyLib/MyLib.h"

#include "InternalIncludes.h"

// Local includes first.
#include "Library/includes.h"
#include "Subsystem/includes.h"
#include "Project/includes.h"
#include "Atdl/includes.h"
#include <rci/includes.h>
#include <boost/includes.hpp>
#include <stdincludes>
#include <sys/includes.h>
#include <c_includes.h>

using namespace std; // Avoid `using` non-standard namespaces.

namespace Atdl { namespace MyLib {

// Local stuff.
namespace {

typedef Typedefs;    ///< typedefs go first.
const Consts;        ///< Then constants...
enum Enums;          ///< ... and Enums.
class Classes;       ///< Classes next.
void LocalFuncs();   ///< Local functions.

} // local

const Const AConst = { initializer };

unique_ptr<Singleton> TheSingleton;

Classes::Classes() { }; // Class implementations.

void FreeFunctions() { } // Free function implementations.

void Initialize() { TheSingleton.reset(new Singleton); }

} } // Atdl::MyLib