OpenDDS
Snapshot(2023/04/28-20:55)
dds
Versioned_Namespace.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
//=============================================================================
4
/**
5
* @file Versioned_Namespace.h
6
*
7
* Versioned namespace support.
8
*
9
* Useful for preventing conflicts when using a third party library.
10
*
11
* @author Ossama Othman <ossama@dre.vanderbilt.edu>
12
*/
13
//=============================================================================
14
15
#ifndef OPENDDS_VERSIONED_NAMESPACE_H
16
#define OPENDDS_VERSIONED_NAMESPACE_H
17
18
#include "ace/config.h"
19
20
#if !defined (OPENDDS_HAS_VERSIONED_NAMESPACE) \
21
&& defined (ACE_HAS_VERSIONED_NAMESPACE) \
22
&& ACE_HAS_VERSIONED_NAMESPACE == 1
23
# define OPENDDS_HAS_VERSIONED_NAMESPACE 1
24
#endif
/* !OPENDDS_HAS_VERSIONED_NAMESPACE
25
&& ACE_HAS_VERSIONED_NAMESPACE == 1*/
26
27
#if defined (OPENDDS_HAS_VERSIONED_NAMESPACE) && OPENDDS_HAS_VERSIONED_NAMESPACE == 1
28
29
# ifndef OPENDDS_VERSIONED_NAMESPACE_NAME
30
# include "Version.h"
31
32
// Preprocessor symbols will not be expanded if they are
33
// concatenated. Force the preprocessor to expand them during the
34
// argument prescan by calling a macro that itself calls another that
35
// performs the actual concatenation.
36
# define OPENDDS_MAKE_VERSIONED_NAMESPACE_NAME_IMPL(MAJOR,MINOR,MICRO) OPENDDS_ ## MAJOR ## _ ## MINOR ## _ ## MICRO
37
# define OPENDDS_MAKE_VERSIONED_NAMESPACE_NAME(MAJOR,MINOR,MICRO) OPENDDS_MAKE_VERSIONED_NAMESPACE_NAME_IMPL(MAJOR,MINOR,MICRO)
38
# define OPENDDS_VERSIONED_NAMESPACE_NAME \
39
OPENDDS_MAKE_VERSIONED_NAMESPACE_NAME(OPENDDS_MAJOR_VERSION,OPENDDS_MINOR_VERSION,OPENDDS_MICRO_VERSION)
40
# endif
/* !OPENDDS_VERSIONED_NAMESPACE_NAME */
41
42
# define OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL namespace OPENDDS_VERSIONED_NAMESPACE_NAME {
43
# define OPENDDS_END_VERSIONED_NAMESPACE_DECL } \
44
using namespace OPENDDS_VERSIONED_NAMESPACE_NAME;
45
#else
46
# define OPENDDS_VERSIONED_NAMESPACE_NAME
47
# define OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
48
# define OPENDDS_END_VERSIONED_NAMESPACE_DECL
49
50
#endif
/* OPENDDS_HAS_VERSIONED_NAMESPACE */
51
52
#endif
/* !OPENDDS_VERSIONED_NAMESPACE_H */
Generated by
1.8.13