WPILibC++ 2023.4.3
SymbolExports.h File Reference

Go to the source code of this file.

Macros

#define WPILIB_DLLEXPORT
 
#define EXPORT_TEMPLATE_DECLARE(export)    EXPORT_TEMPLATE_INVOKE(DECLARE, EXPORT_TEMPLATE_STYLE(export, ), export)
 
#define EXPORT_TEMPLATE_DEFINE(export)    EXPORT_TEMPLATE_INVOKE(DEFINE, EXPORT_TEMPLATE_STYLE(export, ), export)
 
#define EXPORT_TEMPLATE_INVOKE(which, style, export)    EXPORT_TEMPLATE_INVOKE_2(which, style, export)
 
#define EXPORT_TEMPLATE_INVOKE_2(which, style, export)    EXPORT_TEMPLATE_##which##_##style(export, )
 
#define EXPORT_TEMPLATE_DECLARE_DEFAULT(export, _)   export
 
#define EXPORT_TEMPLATE_DEFINE_DEFAULT(export, _)
 
#define EXPORT_TEMPLATE_DECLARE_MSVC_HACK(export, _)
 
#define EXPORT_TEMPLATE_DEFINE_MSVC_HACK(export, _)   export
 
#define EXPORT_TEMPLATE_STYLE(export, _)   EXPORT_TEMPLATE_STYLE_2(export, )
 
#define EXPORT_TEMPLATE_STYLE_2(export, _)
 
#define EXPORT_TEMPLATE_STYLE_3(style)   style
 
#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA   DEFAULT
 
#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__attribute__(...)    DEFAULT
 
#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec(arg)    EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_##arg
 
#define EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport   MSVC_HACK
 
#define EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport   DEFAULT
 
#define EXPORT_TEMPLATE_TEST(want, export)
 
#define EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT(...)   true
 
#define EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK(...)   true
 

Functions

 EXPORT_TEMPLATE_TEST (DEFAULT,)
 
 EXPORT_TEMPLATE_TEST (DEFAULT, __attribute__((visibility("default"))))
 
 EXPORT_TEMPLATE_TEST (MSVC_HACK, __declspec(dllexport))
 
 EXPORT_TEMPLATE_TEST (DEFAULT, __declspec(dllimport))
 

Macro Definition Documentation

◆ EXPORT_TEMPLATE_DECLARE

#define EXPORT_TEMPLATE_DECLARE (   export)     EXPORT_TEMPLATE_INVOKE(DECLARE, EXPORT_TEMPLATE_STYLE(export, ), export)

◆ EXPORT_TEMPLATE_DECLARE_DEFAULT

#define EXPORT_TEMPLATE_DECLARE_DEFAULT (   export,
 
)    export

◆ EXPORT_TEMPLATE_DECLARE_MSVC_HACK

#define EXPORT_TEMPLATE_DECLARE_MSVC_HACK (   export,
 
)

◆ EXPORT_TEMPLATE_DEFINE

#define EXPORT_TEMPLATE_DEFINE (   export)     EXPORT_TEMPLATE_INVOKE(DEFINE, EXPORT_TEMPLATE_STYLE(export, ), export)

◆ EXPORT_TEMPLATE_DEFINE_DEFAULT

#define EXPORT_TEMPLATE_DEFINE_DEFAULT (   export,
 
)

◆ EXPORT_TEMPLATE_DEFINE_MSVC_HACK

#define EXPORT_TEMPLATE_DEFINE_MSVC_HACK (   export,
 
)    export

◆ EXPORT_TEMPLATE_INVOKE

#define EXPORT_TEMPLATE_INVOKE (   which,
  style,
  export 
)     EXPORT_TEMPLATE_INVOKE_2(which, style, export)

◆ EXPORT_TEMPLATE_INVOKE_2

#define EXPORT_TEMPLATE_INVOKE_2 (   which,
  style,
  export 
)     EXPORT_TEMPLATE_##which##_##style(export, )

◆ EXPORT_TEMPLATE_STYLE

#define EXPORT_TEMPLATE_STYLE (   export,
 
)    EXPORT_TEMPLATE_STYLE_2(export, )

◆ EXPORT_TEMPLATE_STYLE_2

#define EXPORT_TEMPLATE_STYLE_2 (   export,
 
)
Value:
#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA
Definition: SymbolExports.h:148
#define EXPORT_TEMPLATE_STYLE_3(style)
Definition: SymbolExports.h:139

◆ EXPORT_TEMPLATE_STYLE_3

#define EXPORT_TEMPLATE_STYLE_3 (   style)    style

◆ EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport

#define EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport   MSVC_HACK

◆ EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport

#define EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport   DEFAULT

◆ EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA

#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA   DEFAULT

◆ EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__attribute__

#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__attribute__ (   ...)     DEFAULT

◆ EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec

#define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec (   arg)     EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_##arg

◆ EXPORT_TEMPLATE_TEST

#define EXPORT_TEMPLATE_TEST (   want,
  export 
)
Value:
static_assert(EXPORT_TEMPLATE_INVOKE( \
TEST_##want, EXPORT_TEMPLATE_STYLE(export, ), export), \
#export)
#define EXPORT_TEMPLATE_STYLE(export, _)
Definition: SymbolExports.h:135
#define EXPORT_TEMPLATE_INVOKE(which, style, export)
Definition: SymbolExports.h:105

◆ EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT

#define EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT (   ...)    true

◆ EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK

#define EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK (   ...)    true

◆ WPILIB_DLLEXPORT

#define WPILIB_DLLEXPORT

Function Documentation

◆ EXPORT_TEMPLATE_TEST() [1/4]

EXPORT_TEMPLATE_TEST ( DEFAULT  ,
__attribute__((visibility("default")))   
)

◆ EXPORT_TEMPLATE_TEST() [2/4]

EXPORT_TEMPLATE_TEST ( DEFAULT  ,
__declspec(dllimport)   
)

◆ EXPORT_TEMPLATE_TEST() [3/4]

EXPORT_TEMPLATE_TEST ( DEFAULT  )

◆ EXPORT_TEMPLATE_TEST() [4/4]

EXPORT_TEMPLATE_TEST ( MSVC_HACK  ,
__declspec(dllexport)   
)