InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
id_auto_ptr.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Sanyam Jain
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // ADOBE CONFIDENTIAL
16 //
17 // Copyright 2019 Adobe Systems Incorporated. All rights reserved.
18 //
19 // NOTICE: All information contained herein is, and remains
20 // the property of Adobe Systems Incorporated and its suppliers,
21 // if any. The intellectual and technical concepts contained
22 // herein are proprietary to Adobe Systems Incorporated and its
23 // suppliers and may be covered by U.S. and Foreign Patents,
24 // patents in process, and are protected by trade secret or copyright law.
25 // Dissemination of this information or reproduction of this material
26 // is strictly forbidden unless prior written permission is obtained
27 // from Adobe Systems Incorporated.
28 //
29 //
30 //========================================================================================
31 
32 #ifndef __ID_AUTO_PTR__
33 #define __ID_AUTO_PTR__
34 
35 #if USE_STD_AUTO_PTR
36 #include <memory>
37 #else
38 #include "Hacked_AutoPtr.h"
39 #ifndef __ODFRC__
40 #include <sys/types.h>
41 //unint32_t was not found, thread suggested to include this header
42 //https://forums.developer.apple.com/forums/thread/746050
43 #include <stdint.h>
44 #ifdef __cplusplus
45 #include <memory>
46 #endif
47 #endif
48 #endif
49 
50 #ifdef __cplusplus
51 namespace indesign
52 {
53 #if USE_STD_AUTO_PTR
54  template <typename T>
55  using autoptr = std::auto_ptr<T>;
56 #else
57  template <typename T>
58  using autoptr = std::shared_ptr<T>;
59 #endif
60 }
61 
62 #endif
63 
64 #endif // __ID_AUTO_PTR__
65