xref: /llvm-project/libcxx/include/__utility/piecewise_construct.h (revision 9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7)
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