libmpd++
DASH MPD parsing and manipulation library
 
Loading...
Searching...
No Matches
macros.hh
Go to the documentation of this file.
1#ifndef _BBC_PARSE_DASH_MPD_MACROS_HH_
2#define _BBC_PARSE_DASH_MPD_MACROS_HH_
3/*****************************************************************************
4 * DASH MPD parsing library in C++: common library macros
5 *****************************************************************************
6 * Copyright: (C) 2025 British Broadcasting Corporation
7 * Author(s): David Waring <david.waring2@bbc.co.uk>
8 * License: LGPLv3
9 *
10 * For full license terms please see the LICENSE file distributed with this
11 * library or refer to: https://www.gnu.org/licenses/lgpl-3.0.txt.
12 */
13
14#ifdef BUILD_LIBMPDPP
15#ifdef HAVE_VISIBILITY
16#define LIBMPDPP_PUBLIC_API __attribute__((visibility("default")))
17#else
18#define LIBMPDPP_PUBLIC_API
19#endif
20#else
21#define LIBMPDPP_PUBLIC_API
22#endif
23
29
42#define LIBMPDPP_NSCONCAT(A,B) A::B
43
46#define LIBMPDPP_NAMESPACE com::bbc::libmpdpp
47
50#define LIBMPDPP_NAMESPACE_BEGIN namespace LIBMPDPP_NAMESPACE {
51
54#define LIBMPDPP_NAMESPACE_END }
55
61#define LIBMPDPP_NAMESPACE_CLASS(A) LIBMPDPP_NSCONCAT(LIBMPDPP_NAMESPACE,A)
62
74#define LIBMPDPP_NAMESPACE_USING(A) using LIBMPDPP_NAMESPACE_CLASS(A)
75
85#define LIBMPDPP_NAMESPACE_USING_ALL using namespace LIBMPDPP_NAMESPACE
86
87/* vim:ts=8:sts=4:sw=4:expandtab:
88 */
89#endif /*_BBC_PARSE_DASH_MPD_MACROS_HH_*/