34 lines
787 B
C++
34 lines
787 B
C++
#ifndef seafire__resources__concepts_hxx_
|
|
#define seafire__resources__concepts_hxx_
|
|
|
|
#include <seafire/resources/traits.hxx>
|
|
|
|
namespace seafire::resources
|
|
{
|
|
|
|
// resources.
|
|
//
|
|
|
|
template<typename R>
|
|
concept GettableResource = traits::is_gettable_resource_v<R>;
|
|
|
|
template<typename R>
|
|
concept UpdatableResource = traits::is_updatable_resource_v<R>;
|
|
|
|
template<typename R>
|
|
concept CreatableResource = traits::is_creatable_resource_v<R>;
|
|
|
|
template<typename R>
|
|
concept ErasableResource = traits::is_erasable_resource_v<R>;
|
|
|
|
template<typename R>
|
|
concept Resource
|
|
= traits::is_gettable_resource_v<R>
|
|
|| traits::is_updatable_resource_v<R>
|
|
|| traits::is_creatable_resource_v<R>
|
|
|| traits::is_erasable_resource_v<R>;
|
|
|
|
} // namespace seafire::resources
|
|
|
|
#endif
|