Добавление элементов в псевдонимное пространство именC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Добавление элементов в псевдонимное пространство имен

Сообщение Anonymous »

Я использую пространство имен для переключения между различными версиями реализации моей базы данных. Моему клиентскому коду не нужны подробности, поэтому я использую псевдоним пространства имен, чтобы скрыть конкретную версию из клиентского кода.
#db_v1.h
namespace db_v1
{
class Database ...
}

#db_def.h
#ifdef _DB_V1
#include "db_v1.h"
#endif

namespace db = db_v1;

Теперь, если я хочу расширить пространство имен дополнительными элементами, которые не зависят от версии, я хотел бы добавить их в базу данных пространства имен, но проблема в том, что я нельзя использовать пространство имен db, поскольку это псевдоним.
#db_global.h
namespace db
Насколько я понимаю, мне пришлось бы поместить такое определение в отдельное пространство имен, например db_global, иначе мне пришлось бы дублировать такие символы во всех версиях, чего я не делаю мне очень нравится.
Есть ли какой-нибудь способ определить это так, чтобы я мог написать в клиентском коде что-то вроде:
x = db::value::OK;


Подробнее здесь: https://stackoverflow.com/questions/392 ... -namespace
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»