1/*
2 * Distributed under the Boost Software License, Version 1.0.
3 * (See accompanying file LICENSE_1_0.txt or copy at
4 * https://www.boost.org/LICENSE_1_0.txt)
5 *
6 * Copyright (c) 2023 Andrey Semashev
7 */
8/*!
9 * \file scope/detail/type_traits/is_final.hpp
10 *
11 * This header contains definition of \c is_final type trait.
12 */
13
14#ifndef BOOST_SCOPE_DETAIL_TYPE_TRAITS_IS_FINAL_HPP_INCLUDED_
15#define BOOST_SCOPE_DETAIL_TYPE_TRAITS_IS_FINAL_HPP_INCLUDED_
16
17#include <type_traits>
18#include <boost/scope/detail/config.hpp>
19
20#ifdef BOOST_HAS_PRAGMA_ONCE
21#pragma once
22#endif
23
24#if (defined(__cpp_lib_is_final) && (__cpp_lib_is_final >= 201402l)) || \
25 (defined(BOOST_MSSTL_VERSION) && (BOOST_MSSTL_VERSION >= 140) && (BOOST_CXX_VERSION >= 201402l))
26
27namespace boost {
28namespace scope {
29namespace detail {
30
31using std::is_final;
32
33} // namespace detail
34} // namespace scope
35} // namespace boost
36
37#else
38
39#include <boost/type_traits/is_final.hpp>
40
41namespace boost {
42namespace scope {
43namespace detail {
44
45using boost::is_final;
46
47} // namespace detail
48} // namespace scope
49} // namespace boost
50
51#endif
52
53#endif // BOOST_SCOPE_DETAIL_TYPE_TRAITS_IS_FINAL_HPP_INCLUDED_
54

source code of boost/libs/scope/include/boost/scope/detail/type_traits/is_final.hpp