Collage  1.1.2
High-performance C++ library for developing object-oriented distributed applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
api.h
Go to the documentation of this file.
1 /* Copyright (c) 2014 Stefan.Eilemann@epfl.ch */
2 
8 #ifndef COLLAGE_API_H
9 #define COLLAGE_API_H
10 
11 #include <co/defines.h>
12 
13 #if defined(_MSC_VER) || defined(__declspec)
14 # define CO_DLLEXPORT __declspec(dllexport)
15 # define CO_DLLIMPORT __declspec(dllimport)
16 #else // _MSC_VER
17 # define CO_DLLEXPORT
18 # define CO_DLLIMPORT
19 #endif // _MSC_VER
20 
21 #if defined(COLLAGE_STATIC)
22 # define CO_API
23 #elif defined(COLLAGE_SHARED)
24 # define CO_API CO_DLLEXPORT
25 #else
26 # define CO_API CO_DLLIMPORT
27 #endif
28 
29 #if defined(COLLAGE_SHARED_INL)
30 # define CO_INL CO_DLLEXPORT
31 #else
32 # define CO_INL CO_DLLIMPORT
33 #endif
34 
35 #endif