NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/nostd/internal/absl/base/policy_checks.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef OTABSL_BASE_POLICY_CHECKS_H_
19 #define OTABSL_BASE_POLICY_CHECKS_H_
20 
21 // Included for the __GLIBC_PREREQ macro used below.
22 #include <limits.h>
23 
24 // Included for the _STLPORT_VERSION macro used below.
25 #if defined(__cplusplus)
26 #include <cstddef>
27 #endif
28 
29 // -----------------------------------------------------------------------------
30 // Operating System Check
31 // -----------------------------------------------------------------------------
32 
33 #if defined(__CYGWIN__)
34 #error "Cygwin is not supported."
35 #endif
36 
37 // -----------------------------------------------------------------------------
38 // Compiler Check
39 // -----------------------------------------------------------------------------
40 
41 #if 0 /* FIXME: MG */
42 // We support MSVC++ 14.0 update 2 and later.
43 // This minimum will go up.
44 #if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023918 && !defined(__clang__)
45 #error "This package requires Visual Studio 2015 Update 2 or higher."
46 #endif
47 #endif
48 
49 // We support gcc 4.7 and later.
50 // This minimum will go up.
51 #if defined(__GNUC__) && !defined(__clang__)
52 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
53 #error "This package requires gcc 4.7 or higher."
54 #endif
55 #endif
56 
57 // We support Apple Xcode clang 4.2.1 (version 421.11.65) and later.
58 // This corresponds to Apple Xcode version 4.5.
59 // This minimum will go up.
60 #if defined(__apple_build_version__) && __apple_build_version__ < 4211165
61 #error "This package requires __apple_build_version__ of 4211165 or higher."
62 #endif
63 
64 // -----------------------------------------------------------------------------
65 // C++ Version Check
66 // -----------------------------------------------------------------------------
67 
68 // Enforce C++11 as the minimum.
69 #if defined(_MSVC_LANG)
70 #if _MSVC_LANG < 201103L
71 #error "C++ versions less than C++11 are not supported."
72 #endif // _MSVC_LANG < 201103L
73 #elif defined(__cplusplus)
74 #if __cplusplus < 201103L
75 #error "C++ versions less than C++11 are not supported."
76 #endif // __cplusplus < 201103L
77 #endif
78 
79 // -----------------------------------------------------------------------------
80 // Standard Library Check
81 // -----------------------------------------------------------------------------
82 
83 #if defined(_STLPORT_VERSION)
84 #error "STLPort is not supported."
85 #endif
86 
87 // -----------------------------------------------------------------------------
88 // `char` Size Check
89 // -----------------------------------------------------------------------------
90 
91 // Abseil currently assumes CHAR_BIT == 8. If you would like to use Abseil on a
92 // platform where this is not the case, please provide us with the details about
93 // your platform so we can consider relaxing this requirement.
94 #if CHAR_BIT != 8
95 #error "Abseil assumes CHAR_BIT == 8."
96 #endif
97 
98 // -----------------------------------------------------------------------------
99 // `int` Size Check
100 // -----------------------------------------------------------------------------
101 
102 // Abseil currently assumes that an int is 4 bytes. If you would like to use
103 // Abseil on a platform where this is not the case, please provide us with the
104 // details about your platform so we can consider relaxing this requirement.
105 #if INT_MAX < 2147483647
106 #error "Abseil assumes that int is at least 4 bytes. "
107 #endif
108 
109 #endif // OTABSL_BASE_POLICY_CHECKS_H_