ufe  4.2
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
ufe.h
Go to the documentation of this file.
1 #line 1 "W:/build/RelWithDebInfo/include/ufe.h"
2 #ifndef _ufeUfe
3 #define _ufeUfe
4 // ===========================================================================
5 // Copyright 2018 Autodesk, Inc. All rights reserved.
6 //
7 // Use of this software is subject to the terms of the Autodesk license
8 // agreement provided at the time of installation or download, or which
9 // otherwise accompanies this software in either electronic or hard copy form.
10 // ===========================================================================
11 
12 #define UFE_MAJOR_VERSION 4
13 #define UFE_MINOR_VERSION 2
14 #define UFE_PATCH_LEVEL 0
15 
16 // UFE public namespace string will never change.
17 #define UFE_NS Ufe
18 // C preprocessor trickery to expand arguments.
19 #define UFE_CONCAT(A, B) UFE_CONCAT_IMPL(A, B)
20 #define UFE_CONCAT_IMPL(A, B) A##B
21 // Versioned namespace includes the major version number.
22 #define UFE_VERSIONED_NS UFE_CONCAT(UFE_NS, _v4)
23 
24 namespace UFE_VERSIONED_NS {}
25 // With a using namespace declaration, pull in the versioned namespace into the
26 // Ufe public namespace, to allow client code to use the plain Ufe namespace,
27 // e.g. Ufe::Path.
28 namespace UFE_NS {
29  using namespace UFE_VERSIONED_NS;
30 }
31 
32 // Macros to place the UFE symbols in the versioned namespace, which is how
33 // they will appear in the shared library, e.g. Ufe_v1::Path.
34 #ifdef DOXYGEN
35 #define UFE_NS_DEF namespace UFE_NS
36 #else
37 #define UFE_NS_DEF namespace UFE_VERSIONED_NS
38 #endif
39 
40 // Special symbols which can be used for checking when features were added.
41 #define UFE_V1_FEATURES_AVAILABLE
42 #define UFE_V2_FEATURES_AVAILABLE
43 #define UFE_V3_FEATURES_AVAILABLE
44 #define UFE_V4_FEATURES_AVAILABLE
45 #define UFE_V4_1_FEATURES_AVAILABLE
46 #define UFE_V4_2_FEATURES_AVAILABLE
47 
48 // Convenience macro for UFE conditional compilation.
49 #ifdef UFE_V2_FEATURES_AVAILABLE
50 #define UFE_V2(...) __VA_ARGS__
51 #else
52 #define UFE_V2(...)
53 #endif
54 #ifdef UFE_V3_FEATURES_AVAILABLE
55 #define UFE_V3(...) __VA_ARGS__
56 #else
57 #define UFE_V3(...)
58 #endif
59 #ifdef UFE_V4_FEATURES_AVAILABLE
60 #define UFE_V4(...) __VA_ARGS__
61 #else
62 #define UFE_V4(...)
63 #endif
64 
65 #endif /* _ufeUfe */
#define UFE_NS
Definition: ufe.h:17
#define UFE_VERSIONED_NS
Definition: ufe.h:22