libmpd++
DASH MPD parsing and manipulation library
 
Loading...
Searching...
No Matches
macros.hh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LIBMPDPP_PUBLIC_API
 Used to mark something as part of the public API.
 
#define LIBMPDPP_NSCONCAT(A, B)
 
#define LIBMPDPP_NAMESPACE   com::bbc::libmpdpp
 
#define LIBMPDPP_NAMESPACE_BEGIN   namespace LIBMPDPP_NAMESPACE {
 
#define LIBMPDPP_NAMESPACE_END   }
 
#define LIBMPDPP_NAMESPACE_CLASS(A)
 
#define LIBMPDPP_NAMESPACE_USING(A)
 
#define LIBMPDPP_NAMESPACE_USING_ALL   using namespace LIBMPDPP_NAMESPACE
 

Macro Definition Documentation

◆ LIBMPDPP_NAMESPACE

#define LIBMPDPP_NAMESPACE   com::bbc::libmpdpp

The libmpd++ namespace

◆ LIBMPDPP_NAMESPACE_BEGIN

#define LIBMPDPP_NAMESPACE_BEGIN   namespace LIBMPDPP_NAMESPACE {

Mark the start of the libmpd++ namespace

◆ LIBMPDPP_NAMESPACE_CLASS

#define LIBMPDPP_NAMESPACE_CLASS ( A)
Value:
#define LIBMPDPP_NSCONCAT(A, B)
Definition macros.hh:42
#define LIBMPDPP_NAMESPACE
Definition macros.hh:46

Substitute an identfier for class A in the libmpd++ namespace

Parameters
AThe class to reference in the libmpd++ namespace.
Returns
An identifier for the class A in the libmpd++ namespace.

◆ LIBMPDPP_NAMESPACE_END

#define LIBMPDPP_NAMESPACE_END   }

Mark the end of the libmpd++ namespace

◆ LIBMPDPP_NAMESPACE_USING

#define LIBMPDPP_NAMESPACE_USING ( A)
Value:
#define LIBMPDPP_NAMESPACE_CLASS(A)
Definition macros.hh:61

Create a using namespace entry for the libmpd++ namespace

Creates a "using ..." declaration for identifier A in the libmpd++ namespace.

For example LIBMPDPP_NAMESPACE_USING(MPD); would result in:

Parameters
AThe identifier for the thing to use from libmpd++ namespace.

◆ LIBMPDPP_NAMESPACE_USING_ALL

#define LIBMPDPP_NAMESPACE_USING_ALL   using namespace LIBMPDPP_NAMESPACE

Create a using namespace entry for the libmpd++ namespace

Creates a "using namespace ..." declaration for identifier A in the libmpd++ namespace.

For example LIBMPDPP_NAMESPACE_USING_ALL; would result in:

◆ LIBMPDPP_NSCONCAT

#define LIBMPDPP_NSCONCAT ( A,
B )
Value:
A::B

Concatenate C++ namespace elements

This is a utility macro to concatenate parts of a C++ namespace path. For example

LIBMPDPP_NSCONCAT(my::namespace::prefix, classname)

...would result in the identifier "my::namespace::prefix::classname".

Parameters
AThe first part of the namespace to concatenate.
BThe second part of the namespace to concatenate.
Returns
The concatenated namespace identifier.

◆ LIBMPDPP_PUBLIC_API

#define LIBMPDPP_PUBLIC_API

Used to mark something as part of the public API.

This is used to mark a class, function or global variable as part of the public API for libmpd++.