Go to the documentation of this file. 1 #ifndef OALPLUS_AL_API_C_API_HPP
9 #define OALPLUS_AL_API_C_API_HPP
16 #ifndef OALPLUS_AL_STATIC_FUNC
18 #define OALPLUS_AL_STATIC_FUNC(NAME) &EAGINE_JOIN(::al, NAME)
20 #define OALPLUS_AL_STATIC_FUNC(NAME) nullptr
30 template <
typename ApiTraits>
38 static constexpr
bool has_api = al_types::has_api;
81 c_api_function_ptr<api_traits, nothing_t, Signature> Function>
278 OALPLUS_AL_STATIC_FUNC(
Bufferi)>
306 OALPLUS_AL_STATIC_FUNC(
Bufferf)>
353 OALPLUS_AL_STATIC_FUNC(
Sourcei)>
381 OALPLUS_AL_STATIC_FUNC(
Sourcef)>
624 #endif // OALPLUS_AL_API_C_API_HPP
al_api_function< void(name_type, enum_type, const float_type *), nullptr > Sourcefv
Definition: c_api.hpp:396
typename al_types::name_type name_type
Alias for object handle type.
Definition: c_api.hpp:56
al_api_function< void(name_type), nullptr > SourceRewind
Definition: c_api.hpp:418
al_api_function< void(name_type, enum_type, int_type), nullptr > AuxiliaryEffectSloti
Definition: c_api.hpp:578
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetBufferiv
Definition: c_api.hpp:300
al_api_function< void_ptr_type(const char_type *), nullptr > GetProcAddress
Definition: c_api.hpp:102
al_api_function< void(enum_type, const int_type *), nullptr > Listeneriv
Definition: c_api.hpp:211
al_api_function< void(float_type), nullptr > SpeedOfSound
Definition: c_api.hpp:192
al_api_function< void(name_type, enum_type, float_type), nullptr > AuxiliaryEffectSlotf
Definition: c_api.hpp:588
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetBufferfv
Definition: c_api.hpp:328
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetAuxiliaryEffectSlotiv
Definition: c_api.hpp:603
typename al_types::float_type float_type
Alias for floating-point type.
Definition: c_api.hpp:62
std::conditional_t< IsAvailable, std::conditional_t< IsStatic, static_c_api_function< ApiTraits, Tag, Signature, function >, dynamic_c_api_function< ApiTraits, Tag, Signature > >, unimplemented_c_api_function< ApiTraits, Tag, Signature > > opt_c_api_function
Template alias used for switching between static and dynamic function.
Definition: c_api_wrap.hpp:1096
al_api_function< void(enum_type, int_type *), nullptr > GetIntegerv
Definition: c_api.hpp:136
al_api_function< void(enum_type, const float_type *), nullptr > Listenerfv
Definition: c_api.hpp:239
typename al_types::uint_type uint_type
Alias for unsigned integer type.
Definition: c_api.hpp:53
al_api_function< void(name_type, enum_type, const int_type *), nullptr > Filteriv
Definition: c_api.hpp:533
al_api_function< void(size_type, name_type *), nullptr > GenSources
Definition: c_api.hpp:335
typename al_types::size_type size_type
Alias for integer type used to store sizes and counts.
Definition: c_api.hpp:59
al_api_function< void(name_type, enum_type, float_type), nullptr > Filterf
Definition: c_api.hpp:537
al_api_function< void(name_type, enum_type, const float_type *), nullptr > Bufferfv
Definition: c_api.hpp:321
ApiTraits api_traits
Alias for the API traits policy type passed as template argument.
Definition: c_api.hpp:36
Class representing "none" / "nothing" values.
Definition: nothing.hpp:17
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetAuxiliaryEffectSlotfv
Definition: c_api.hpp:613
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetFilteri
Definition: c_api.hpp:546
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetEffectiv
Definition: c_api.hpp:503
al_api_function< void(name_type, enum_type, const_void_ptr_type, size_type, size_type), nullptr > BufferData
Definition: c_api.hpp:272
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetAuxiliaryEffectSlotf
Definition: c_api.hpp:608
al_api_function< void(size_type, const name_type *), nullptr > SourcePausev
Definition: c_api.hpp:451
al_api_function< void(name_type, enum_type, const int_type *), nullptr > Effectiv
Definition: c_api.hpp:486
al_api_function< void(enum_type), nullptr > DistanceModel
Definition: c_api.hpp:182
const void * const_void_ptr_type
Untyped const pointer type.
Definition: config.hpp:35
typename al_types::bool_type bool_type
Alias for boolean type.
Definition: c_api.hpp:47
al_api_function< void(size_type, const name_type *), nullptr > DeleteEffects
Definition: c_api.hpp:473
al_api_function< void(name_type, enum_type, int_type), nullptr > Filteri
Definition: c_api.hpp:528
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetEffectf
Definition: c_api.hpp:507
al_api_function< void(size_type, name_type *), nullptr > GenBuffers
Definition: c_api.hpp:253
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetEffecti
Definition: c_api.hpp:499
al_api_function< void(name_type), nullptr > SourceStop
Definition: c_api.hpp:413
al_api_function< void(size_type, name_type *), nullptr > GenEffects
Definition: c_api.hpp:469
al_api_function< void(enum_type), nullptr > Disable
Definition: c_api.hpp:117
al_api_function< void(name_type, enum_type, int_type, int_type, int_type), nullptr > Source3i
Definition: c_api.hpp:361
al_api_function< bool_type(name_type), nullptr > IsAuxiliaryEffectSlot
Definition: c_api.hpp:573
al_api_function< enum_type(const char_type *), nullptr > GetEnumValue
Definition: c_api.hpp:109
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetFilteriv
Definition: c_api.hpp:550
basic_address< false > address
Type alias for non-const memory address values.
Definition: address.hpp:203
al_api_function< enum_type(), nullptr > GetError
Definition: c_api.hpp:95
al_api_function< void(enum_type, float_type), nullptr > Listenerf
Definition: c_api.hpp:225
typename al_types::const_void_ptr_type const_void_ptr_type
Untyped const pointer type.
Definition: c_api.hpp:71
al_api_function< void(enum_type, bool_type *), nullptr > GetBooleanv
Definition: c_api.hpp:129
typename al_types::char_type char_type
Alias for string characted type.
Definition: c_api.hpp:44
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetAuxiliaryEffectSloti
Definition: c_api.hpp:598
al_api_function< void(name_type, enum_type, const float_type *), nullptr > AuxiliaryEffectSlotfv
Definition: c_api.hpp:593
al_api_function< void(size_type, const name_type *), nullptr > SourceRewindv
Definition: c_api.hpp:444
al_api_function< void(name_type, enum_type, const float_type *), nullptr > Filterfv
Definition: c_api.hpp:542
al_api_function< void(enum_type, float_type *), nullptr > GetListenerfv
Definition: c_api.hpp:246
typename al_types::void_ptr_type void_ptr_type
Untyped non-const pointer type.
Definition: c_api.hpp:68
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetEffectfv
Definition: c_api.hpp:512
al_api_function< void(name_type, enum_type, float_type, float_type, float_type), nullptr > Source3f
Definition: c_api.hpp:389
al_api_function< void(enum_type, double_type *), nullptr > GetDoublev
Definition: c_api.hpp:150
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetFilterfv
Definition: c_api.hpp:559
al_api_function< void(name_type), nullptr > SourcePlay
Definition: c_api.hpp:408
al_api_function< void(size_type, name_type *), nullptr > GenFilters
Definition: c_api.hpp:516
al_api_function< void(enum_type, int_type), nullptr > Listeneri
Definition: c_api.hpp:197
al_api_function< void(float_type), nullptr > DopplerFactor
Definition: c_api.hpp:187
al_api_function< float_type(enum_type), nullptr > GetFloat
Definition: c_api.hpp:165
al_api_function< void(enum_type, int_type *), nullptr > GetListeneriv
Definition: c_api.hpp:218
al_api_function< const char_type *(enum_type), nullptr > GetString
Definition: c_api.hpp:177
al_api_function< void(size_type, name_type *), nullptr > GenAuxiliaryEffectSlots
Definition: c_api.hpp:564
al_api_function< void(enum_type, float_type, float_type, float_type), nullptr > Listener3f
Definition: c_api.hpp:232
al_api_function< void(size_type, const name_type *), nullptr > DeleteSources
Definition: c_api.hpp:342
void * void_ptr_type
Untyped pointer type.
Definition: config.hpp:32
al_api_function< bool_type(name_type), nullptr > IsFilter
Definition: c_api.hpp:524
al_api_function< void(name_type, enum_type, float_type), nullptr > Effectf
Definition: c_api.hpp:490
al_api_function< void(size_type, const name_type *), nullptr > DeleteFilters
Definition: c_api.hpp:520
al_api_function< bool_type(enum_type), nullptr > GetBoolean
Definition: c_api.hpp:155
al_api_function< void(name_type, enum_type, const int_type *), nullptr > AuxiliaryEffectSlotiv
Definition: c_api.hpp:583
al_api_function< bool_type(name_type), nullptr > IsEffect
Definition: c_api.hpp:477
al_api_function< void(size_type, const name_type *), nullptr > SourcePlayv
Definition: c_api.hpp:430
al_api_function< bool_type(name_type), nullptr > IsBuffer
Definition: c_api.hpp:265
al_api_function< void(name_type, enum_type, const int_type *), nullptr > Sourceiv
Definition: c_api.hpp:368
al_api_function< void(enum_type, int_type, int_type, int_type), nullptr > Listener3i
Definition: c_api.hpp:204
al_api_function< void(name_type, size_type, const name_type *), nullptr > SourceQueueBuffers
Definition: c_api.hpp:458
al_api_function< void(name_type, size_type, name_type *), nullptr > SourceUnqueueBuffers
Definition: c_api.hpp:465
al_api_function< void(name_type, enum_type, float_type), nullptr > Sourcef
Definition: c_api.hpp:382
al_api_function< void(name_type, enum_type, int_type *), nullptr > GetSourceiv
Definition: c_api.hpp:375
al_api_function< int_type(enum_type), nullptr > GetInteger
Definition: c_api.hpp:160
AL-related code is placed in this namespace.
Definition: oalplus.hpp:11
al_api_function< bool_type(enum_type), nullptr > IsEnabled
Definition: c_api.hpp:122
al_api_function< void(name_type, enum_type, float_type, float_type, float_type), nullptr > Buffer3f
Definition: c_api.hpp:314
al_api_function< void(size_type, const name_type *), nullptr > SourceStopv
Definition: c_api.hpp:437
al_api_function< void(name_type, enum_type, const float_type *), nullptr > Effectfv
Definition: c_api.hpp:495
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetFilterf
Definition: c_api.hpp:554
al_api_function< void(name_type, enum_type, int_type), nullptr > Sourcei
Definition: c_api.hpp:354
al_api_function< void(name_type, enum_type, int_type, int_type, int_type), nullptr > Buffer3i
Definition: c_api.hpp:286
al_api_function< void(name_type, enum_type, float_type *), nullptr > GetSourcefv
Definition: c_api.hpp:403
typename al_types::double_type double_type
Alias for double-precision floating-point type.
Definition: c_api.hpp:65
al_api_function< void(name_type), nullptr > SourcePause
Definition: c_api.hpp:423
eagine::opt_c_api_function< api_traits, nothing_t, Signature, Function, has_api, bool(Function)> al_api_function
Alias for AL C-API function wrapper template.
Definition: c_api.hpp:88
al_api_function< bool_type(name_type), nullptr > IsSource
Definition: c_api.hpp:347
al_api_function< void(size_type, const name_type *), nullptr > DeleteBuffers
Definition: c_api.hpp:260
typename al_types::enum_type enum_type
Alias for enumeration type.
Definition: c_api.hpp:41
al_api_function< void(name_type, enum_type, int_type), nullptr > Bufferi
Definition: c_api.hpp:279
al_api_function< void(enum_type), nullptr > Enable
Definition: c_api.hpp:113
al_api_function< void(name_type, enum_type, const int_type *), nullptr > Bufferiv
Definition: c_api.hpp:293
Class wrapping the C-functions from the AL API.
Definition: c_api.hpp:31
al_api_function< void(name_type, enum_type, int_type), nullptr > Effecti
Definition: c_api.hpp:481
al_api_function< void(name_type, enum_type, float_type), nullptr > Bufferf
Definition: c_api.hpp:307
al_api_function< void(enum_type, float_type *), nullptr > GetFloatv
Definition: c_api.hpp:143
al_api_function< void(size_type, const name_type *), nullptr > DeleteAuxiliaryEffectSlots
Definition: c_api.hpp:569
typename al_types::int_type int_type
Alias for signed interger type.
Definition: c_api.hpp:50