xref: /aosp_15_r20/external/pigweed/pw_containers/public/pw_containers/config.h (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1 // Copyright 2024 The Pigweed Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 //     https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14 #pragma once
15 
16 // See b/362348318 for background and details.
17 //
18 // The singly-linked `pw::IntrusiveList` will eventually migrate to
19 // `pw::IntrusiveForwardList` and a doubly-linked `pw::IntrusiveList` will take
20 // its place.
21 //
22 // As part of this migration, usage of `pw::IntrusiveList` may be marked as
23 // deprecated. This configuration option suppresses the deprecation warning.
24 //
25 // At some point in the near future, this will default to 0. Downstream projects
26 // may still suppress the warning by overriding this configuration, but must be
27 // aware that the legacy alias will eventually be removed.
28 #ifndef PW_CONTAINERS_INTRUSIVE_LIST_SUPPRESS_DEPRECATION_WARNING
29 #define PW_CONTAINERS_INTRUSIVE_LIST_SUPPRESS_DEPRECATION_WARNING 1
30 #endif  // PW_CONTAINERS_INTRUSIVE_LIST_SUPPRESS_DEPRECATION_WARNING
31 
32 // See b/362348318 for background and details.
33 //
34 // The singly-linked `pw::IntrusiveList` will eventually migrate to
35 // `pw::IntrusiveForwardList` and a doubly-linked `pw::IntrusiveList` will take
36 // its place.
37 //
38 // As part of this migration, the type alias for `pw::IntrusiveList` may be
39 // omitted. This configuration option provides the legacy type alias.
40 //
41 // At some point in the near future, this will default to 0. Downstream projects
42 // may still use the legacy alias by overriding this configuration, but must be
43 // aware that the legacy alias will eventually be removed.
44 #ifndef PW_CONTAINERS_USE_LEGACY_INTRUSIVE_LIST
45 #define PW_CONTAINERS_USE_LEGACY_INTRUSIVE_LIST 1
46 #endif  // PW_CONTAINERS_USE_LEGACY_INTRUSIVE_LIST
47