OGLplus  (0.59.0) a C++ wrapper for rendering APIs

enum_class.hpp
Go to the documentation of this file.
1 #ifndef OALPLUS_AL_API_ENUM_CLASS_HPP
9 #define OALPLUS_AL_API_ENUM_CLASS_HPP
10 
11 #include "config.hpp"
12 #include <eagine/enum_bitfield.hpp>
13 #include <eagine/enum_class.hpp>
14 #include <eagine/identifier.hpp>
15 
16 namespace eagine::oalp {
17 //------------------------------------------------------------------------------
27 template <typename Self, identifier_t Id>
28 using al_enum_class =
29  enum_class<Self, al_types::enum_type, EAGINE_ID_V(AL), Id>;
30 
34 
38 
39 static constexpr auto
40 same_enum_class(al_any_enum_class a, al_any_enum_class b) noexcept -> bool {
41  return ::eagine::same_enum_class(a, b);
42 }
43 //------------------------------------------------------------------------------
44 } // namespace eagine::oalp
45 
46 #endif // OALPLUS_AL_API_ENUM_CLASS_HPP
Enum class for constants or enumerators (typically from a C-API).
Definition: enum_class.hpp:237
#define EAGINE_ID_V(NAME)
Macro for constructing instances of eagine::identifier_t.
Definition: identifier.hpp:359
enum_class< Self, al_types::enum_type, EAGINE_ID_V(AL), Id > al_enum_class
Typed wrapper class for AL enum constants/values.
Definition: enum_class.hpp:29
Type erasure for instantiations of enum_value from a specified library.
Definition: enum_class.hpp:212
AL-related code is placed in this namespace.
Definition: oalplus.hpp:11
Type erasure for instantiations of enum_class from a specified library.
Definition: enum_class.hpp:385

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).