169d5a666SChristopher Di Bella //===----------------------------------------------------------------------===// 269d5a666SChristopher Di Bella // 369d5a666SChristopher Di Bella // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 469d5a666SChristopher Di Bella // See https://llvm.org/LICENSE.txt for license information. 569d5a666SChristopher Di Bella // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 669d5a666SChristopher Di Bella // 769d5a666SChristopher Di Bella //===----------------------------------------------------------------------===// 869d5a666SChristopher Di Bella 969d5a666SChristopher Di Bella #ifndef _LIBCPP___UTILITY_PIECEWISE_CONSTRUCT_H 1069d5a666SChristopher Di Bella #define _LIBCPP___UTILITY_PIECEWISE_CONSTRUCT_H 1169d5a666SChristopher Di Bella 1269d5a666SChristopher Di Bella #include <__config> 1369d5a666SChristopher Di Bella 1469d5a666SChristopher Di Bella #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 1569d5a666SChristopher Di Bella # pragma GCC system_header 1669d5a666SChristopher Di Bella #endif 1769d5a666SChristopher Di Bella 1869d5a666SChristopher Di Bella _LIBCPP_BEGIN_NAMESPACE_STD 1969d5a666SChristopher Di Bella 20*9783f28cSLouis Dionne struct _LIBCPP_TEMPLATE_VIS piecewise_construct_t { 21*9783f28cSLouis Dionne explicit piecewise_construct_t() = default; 22*9783f28cSLouis Dionne }; 23c0cde79eSLouis Dionne 248643bdd0SLouis Dionne #if _LIBCPP_STD_VER >= 17 258643bdd0SLouis Dionne inline constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); 268643bdd0SLouis Dionne #elif !defined(_LIBCPP_CXX03_LANG) 278643bdd0SLouis Dionne constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); 2869d5a666SChristopher Di Bella #endif 2969d5a666SChristopher Di Bella 3069d5a666SChristopher Di Bella _LIBCPP_END_NAMESPACE_STD 3169d5a666SChristopher Di Bella 3269d5a666SChristopher Di Bella #endif // _LIBCPP___UTILITY_PIECEWISE_CONSTRUCT_H 33