mijin2/source/mijin/util/concepts.hpp
2023-05-29 14:51:44 +02:00

49 lines
741 B
C++

#pragma once
#if !defined(MIJIN_UTIL_CONCEPTS_HPP_INCLUDED)
#define MIJIN_UTIL_CONCEPTS_HPP_INCLUDED 1
#include <type_traits>
namespace mijin
{
//
// public defines
//
//
// public constants
//
//
// public types
//
template<typename T>
concept standard_type = std::is_standard_layout_v<T>;
template<typename T>
concept trivial_type = std::is_trivial_v<T>;
template<typename T>
concept enum_type = std::is_enum_v<T>;
template<typename T>
concept arithmetic_type = std::is_arithmetic_v<T>;
template<typename T>
concept pointer_type = std::is_pointer_v<T>;
template<typename T>
concept reference_type = std::is_reference_v<T>;
//
// public functions
//
} // namespace mijin
#endif // !defined(MIJIN_UTIL_CONCEPTS_HPP_INCLUDED)