|  | // Copyright 2023 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef BASE_MACROS_CONCAT_H_ | 
|  | #define BASE_MACROS_CONCAT_H_ | 
|  |  | 
|  | // A macro that expands to the concatenation of its arguments. If the arguments | 
|  | // are themselves macros, they are first expanded (due to the indirection | 
|  | // through a second macro). This can be used to construct tokens. | 
|  | #define BASE_CONCAT(a, b) BASE_INTERNAL_CONCAT(a, b) | 
|  |  | 
|  | // Implementation details: do not use directly. | 
|  | #define BASE_INTERNAL_CONCAT(a, b) a##b | 
|  |  | 
|  | #endif  // BASE_MACROS_CONCAT_H_ |