39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
#pragma once
|
|
|
|
// Define the normal namespace
|
|
#define NS_BEGIN(Name) namespace Name {
|
|
#define NS_END(Name) }
|
|
#define NS_USING(Name) using namespace Name;
|
|
|
|
// Define the redcraft master namespace
|
|
#define NS_REDCRAFT RFur
|
|
#define NS_REDCRAFT_BEGIN NS_BEGIN(NS_REDCRAFT)
|
|
#define NS_REDCRAFT_END NS_END(NS_REDCRAFT)
|
|
#define NS_REDCRAFT_USING NS_USING(NS_REDCRAFT)
|
|
|
|
// Define the private namespace - Used to hide the realization of something
|
|
#define NS_PRIVATE Private
|
|
#define NS_PRIVATE_BEGIN NS_BEGIN(NS_PRIVATE)
|
|
#define NS_PRIVATE_END NS_END(NS_PRIVATE)
|
|
|
|
// Define the STD namespace
|
|
#define NS_STD_BEGIN NS_BEGIN(std)
|
|
#define NS_STD_END NS_END(std)
|
|
#define NS_STD_USING NS_USING(std)
|
|
|
|
// Define the unnamed namespace
|
|
#define NS_UNNAMED_BEGIN namespace {
|
|
#define NS_UNNAMED_END }
|
|
|
|
// Create an alias for the namespace - like typedef
|
|
#define NS_DEFINE(Source, Target) NS_BEGIN(Target) NS_USING(Source) NS_END(Target)
|
|
|
|
NS_REDCRAFT_BEGIN
|
|
|
|
enum { INDEX_NONE = -1 };
|
|
enum { UNICODE_BOM = 0xfeff };
|
|
|
|
enum EForceInit { ForceInit };
|
|
|
|
NS_REDCRAFT_END
|