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

api_traits.hpp
Go to the documentation of this file.
1 #ifndef OALPLUS_ALC_API_API_TRAITS_HPP
9 #define OALPLUS_ALC_API_API_TRAITS_HPP
10 
11 #include "result.hpp"
12 #include <string>
13 
14 namespace eagine::oalp {
15 //------------------------------------------------------------------------------
20 public:
22  template <typename R>
23 
26  template <typename R>
27 
30  template <typename R>
32 
34  template <typename Api, typename Type>
35  auto load_constant(Api& api, string_view name, type_identity<Type>)
36  -> std::tuple<Type, bool>;
37 
39  template <typename Api, typename Tag, typename Signature>
40  auto link_function(Api& api, Tag, string_view name, type_identity<Signature>)
41  -> std::add_pointer_t<Signature>;
42 
43 private:
44  std::string _full_name;
45 };
46 //------------------------------------------------------------------------------
47 } // namespace eagine::oalp
48 
49 #endif // OALPLUS_ALC_API_API_TRAITS_HPP
Class wrapping the result of a C-API function call.
Definition: c_api_wrap.hpp:210
Primary template for conditionally valid values.
Definition: decl.hpp:49
api_opt_result< Result, alc_result_info > alc_opt_result
Class wrapping the result of a ALC API function call.
Definition: result.hpp:120
auto link_function(Api &api, Tag, string_view name, type_identity< Signature >) -> std::add_pointer_t< Signature >
Links an ALC function with the specified name and Signature.
auto load_constant(Api &api, string_view name, type_identity< Type >) -> std::tuple< Type, bool >
Loads an ALC constant with the specified name and Type.
api_no_result< Result, alc_no_result_info > alc_no_result
Alias for always-invalid result of a missing ALC API function call.
Definition: result.hpp:106
Template type used mostly for function type-tag dispatching.
Definition: type_identity.hpp:19
Policy customizing the generic C-API wrappers for the ALC API.
Definition: api_traits.hpp:19
AL-related code is placed in this namespace.
Definition: oalplus.hpp:11
Policy class customizing C-API constant value loading and function linking.
Definition: c_api_wrap.hpp:901

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