00001 // Copyright 2017 The Abseil Authors. 00002 // 00003 // Licensed under the Apache License, Version 2.0 (the "License"); 00004 // you may not use this file except in compliance with the License. 00005 // You may obtain a copy of the License at 00006 // 00007 // https://www.apache.org/licenses/LICENSE-2.0 00008 // 00009 // Unless required by applicable law or agreed to in writing, software 00010 // distributed under the License is distributed on an "AS IS" BASIS, 00011 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00012 // See the License for the specific language governing permissions and 00013 // limitations under the License. 00014 // 00015 00016 #ifndef ABSL_BASE_INTERNAL_IDENTITY_H_ 00017 #define ABSL_BASE_INTERNAL_IDENTITY_H_ 00018 00019 namespace absl { 00020 namespace internal { 00021 00022 template <typename T> 00023 struct identity { 00024 typedef T type; 00025 }; 00026 00027 template <typename T> 00028 using identity_t = typename identity<T>::type; 00029 00030 } // namespace internal 00031 } // namespace absl 00032 00033 #endif // ABSL_BASE_INTERNAL_IDENTITY_H_