Aldebaran documentation
|
C++ Libraries
|
index
libqi-api
2.8.7.4
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
qi
api.hpp
Go to the documentation of this file.
1
#pragma once
2
/*
3
* Copyright (c) 2012 Aldebaran Robotics. All rights reserved.
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the COPYING file.
6
*/
7
13
#ifndef _QI_API_HPP_
14
# define _QI_API_HPP_
15
16
# include <
qi/macro.hpp
>
17
# include <qi/config.hpp>
18
33
# define QI_API QI_LIB_API(qi)
34
35
/* The `QI_API_TESTONLY` macro exports/imports types when compiling tests only.
36
*
37
* This is for instance useful to unit-test internal components of libqi.
38
*
39
* This macro definition depends on the `QI_WITH_TESTS` macro.
40
*
41
* Example: Making an internal type available for unit testing.
42
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43
* class QI_API_TESTONLY StuffPrivate
44
* {
45
* ...
46
* };
47
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48
*/
49
#ifdef QI_WITH_TESTS
50
# define QI_API_TESTONLY QI_API
51
#else
52
# define QI_API_TESTONLY
53
#endif
54
55
# define QI_API_LEVEL 2
56
57
/* dynamic_casting template partial specializations
58
* between shared objects poses problems with
59
* clang under macos.
60
* This macro is a workaround that seems to work
61
* for now.
62
*/
63
#ifdef __clang__
64
# define QITYPE_TEMPLATE_API QI_API
65
#else
66
# define QITYPE_TEMPLATE_API
67
#endif
68
69
70
71
#endif // _QI_API_HPP_
macro.hpp
Various macros for qi. (deprecated, export API, disallow copy, ..) <includename>qi/macro.hpp</includename> .
Copyright Aldebaran Robotics