17f5d130aSMark de Wever // -*- C++ -*- 27f5d130aSMark de Wever //===----------------------------------------------------------------------===// 37f5d130aSMark de Wever // 47f5d130aSMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 57f5d130aSMark de Wever // See https://llvm.org/LICENSE.txt for license information. 67f5d130aSMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 77f5d130aSMark de Wever // 87f5d130aSMark de Wever //===----------------------------------------------------------------------===// 97f5d130aSMark de Wever 107f5d130aSMark de Wever #ifndef _LIBCPP___CHRONO_CONCEPTS_H 117f5d130aSMark de Wever #define _LIBCPP___CHRONO_CONCEPTS_H 127f5d130aSMark de Wever 137f5d130aSMark de Wever #include <__chrono/hh_mm_ss.h> 14*2c1d7959SMark de Wever #include <__chrono/time_point.h> 157f5d130aSMark de Wever #include <__config> 167f5d130aSMark de Wever #include <__type_traits/is_specialization.h> 177f5d130aSMark de Wever 187f5d130aSMark de Wever #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 197f5d130aSMark de Wever # pragma GCC system_header 207f5d130aSMark de Wever #endif 217f5d130aSMark de Wever 227f5d130aSMark de Wever _LIBCPP_BEGIN_NAMESPACE_STD 237f5d130aSMark de Wever 2407efa283SNikolas Klauser #if _LIBCPP_STD_VER >= 20 257f5d130aSMark de Wever 267f5d130aSMark de Wever template <class _Tp> 277f5d130aSMark de Wever concept __is_hh_mm_ss = __is_specialization_v<_Tp, chrono::hh_mm_ss>; 287f5d130aSMark de Wever 29*2c1d7959SMark de Wever template <class _Tp> 30*2c1d7959SMark de Wever concept __is_time_point = __is_specialization_v<_Tp, chrono::time_point>; 31*2c1d7959SMark de Wever 3207efa283SNikolas Klauser #endif // _LIBCPP_STD_VER >= 20 337f5d130aSMark de Wever 347f5d130aSMark de Wever _LIBCPP_END_NAMESPACE_STD 357f5d130aSMark de Wever 367f5d130aSMark de Wever #endif // _LIBCPP___CHRONO_CONCEPTS_H 37