Path: blob/main/contrib/llvm-project/libcxx/include/__utility/as_lvalue.h
35235 views
// -*- C++ -*-1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//89#ifndef _LIBCPP___UTILITY_AS_LVALUE_H10#define _LIBCPP___UTILITY_AS_LVALUE_H1112#include <__config>1314#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)15# pragma GCC system_header16#endif1718_LIBCPP_PUSH_MACROS19#include <__undef_macros>2021_LIBCPP_BEGIN_NAMESPACE_STD2223#ifndef _LIBCPP_CXX03_LANG2425template <class _Tp>26_LIBCPP_HIDE_FROM_ABI constexpr _Tp& __as_lvalue(_LIBCPP_LIFETIMEBOUND _Tp&& __t) {27return static_cast<_Tp&>(__t);28}2930#endif // !_LIBCPP_CXX03_LANG3132_LIBCPP_END_NAMESPACE_STD3334_LIBCPP_POP_MACROS3536#endif // _LIBCPP___UTILITY_AS_LVALUE_H373839