All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
api.h
1//
2// Copyright 2017 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef USD_API_H
8#define USD_API_H
9
11
12#if defined(PXR_STATIC)
13# define USD_API
14# define USD_API_TEMPLATE_CLASS(...)
15# define USD_API_TEMPLATE_STRUCT(...)
16# define USD_LOCAL
17#else
18# if defined(USD_EXPORTS)
19# define USD_API ARCH_EXPORT
20# define USD_API_TEMPLATE_CLASS(...) ARCH_EXPORT_TEMPLATE(class, __VA_ARGS__)
21# define USD_API_TEMPLATE_STRUCT(...) ARCH_EXPORT_TEMPLATE(struct, __VA_ARGS__)
22# else
23# define USD_API ARCH_IMPORT
24# define USD_API_TEMPLATE_CLASS(...) ARCH_IMPORT_TEMPLATE(class, __VA_ARGS__)
25# define USD_API_TEMPLATE_STRUCT(...) ARCH_IMPORT_TEMPLATE(struct, __VA_ARGS__)
26# endif
27# define USD_LOCAL ARCH_HIDDEN
28#endif
29
30#endif
Defines symbol visibility macros.