5#ifndef _ZFI_ZFNamespace_h_
6#define _ZFI_ZFNamespace_h_
13 _ZFP_ZFNamespaceHolder(
const char *parent,
const char *child);
14 ~_ZFP_ZFNamespaceHolder(
void);
16 const char *ns(
void)
const {
40#define ZF_NAMESPACE_BEGIN(NameSpace) \
41 namespace NameSpace { \
42 template<typename T> \
43 const char *_ZFP_ZF_NAMESPACE_NOT_REGISTERED(void);
48#define ZF_NAMESPACE_BEGIN_REGISTER(NameSpace, ParentNameSpace) \
50 namespace NameSpace { \
51 template<typename T> \
52 const char *_ZFP_ZF_NAMESPACE_NOT_REGISTERED(void) { \
53 static _ZFP_ZFNamespaceHolder d(ParentNameSpace::_ZFP_ZF_NAMESPACE_NOT_REGISTERED<T>(), #NameSpace); \
60#define ZF_NAMESPACE_END(NameSpace) \
66#define ZF_NAMESPACE_USE(NameSpace) \
67 using namespace NameSpace;
72#define ZF_NAMESPACE_GLOBAL_ID ZF
76#define ZF_NAMESPACE_GLOBAL_NAME ZFM_TOSTRING(ZF_NAMESPACE_GLOBAL_ID)
80#define ZF_NAMESPACE_GLOBAL_ABBR_ID zf
84#define ZF_NAMESPACE_GLOBAL_ABBR_NAME ZFM_TOSTRING(ZF_NAMESPACE_GLOBAL_ABBR_ID)
95#if !ZF_ENV_NAMESPACE_GLOBAL_DISABLE
96 #define ZF_NAMESPACE_GLOBAL ZF_NAMESPACE_GLOBAL_ID
97 #define ZF_NAMESPACE_GLOBAL_BEGIN ZF_NAMESPACE_BEGIN(ZF_NAMESPACE_GLOBAL)
98 #define ZF_NAMESPACE_GLOBAL_END ZF_NAMESPACE_END(ZF_NAMESPACE_GLOBAL)
99 #define ZF_NAMESPACE_GLOBAL_USE ZF_NAMESPACE_USE(ZF_NAMESPACE_GLOBAL)
101 #define ZF_NAMESPACE_GLOBAL
102 #define ZF_NAMESPACE_GLOBAL_BEGIN
103 #define ZF_NAMESPACE_GLOBAL_END
104 #define ZF_NAMESPACE_GLOBAL_USE
109 const char *_ZFP_ZF_NAMESPACE_NOT_REGISTERED(
void) {
used to define the env used by ZFFramework
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_USE
use namespace ZFFramework
Definition ZFNamespace.h:99
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98