1717
1818#include " altypes.hpp"
1919#include " alstring.h"
20+ #include " opthelpers.h"
2021#include " strutils.hpp"
2122
2223#if HAVE_CXXMODULES
@@ -574,7 +575,7 @@ ALC_API auto ALC_APIENTRY alcOpenDevice(ALCchar const *const devicename) noexcep
574575 return true ;
575576 }
576577 return false ;
577- }, &DriverIfacePtr:: operator * );
578+ }, al::dereference{} );
578579 if (iter == DriverList.end ())
579580 {
580581 LastError.store (ALC_INVALID_DEVICE );
@@ -827,7 +828,7 @@ ALC_API auto ALC_APIENTRY alcGetString(ALCdevice *const device, ALCenum const pa
827828 || drv.alcIsExtensionPresent (nullptr , " ALC_ENUMERATION_EXT" ))
828829 DevicesList.appendDeviceList (drv.alcGetString (nullptr , ALC_DEVICE_SPECIFIER ), idx);
829830 ++idx;
830- }, &DriverIfacePtr:: operator * );
831+ }, al::dereference{} );
831832 DevicesList.finishEnumeration ();
832833 return DevicesList.getNameData ();
833834 }
@@ -851,7 +852,7 @@ ALC_API auto ALC_APIENTRY alcGetString(ALCdevice *const device, ALCenum const pa
851852 AllDevicesList.appendDeviceList (
852853 drv.alcGetString (nullptr , ALC_DEVICE_SPECIFIER ), idx);
853854 ++idx;
854- }, &DriverIfacePtr:: operator * );
855+ }, al::dereference{} );
855856 AllDevicesList.finishEnumeration ();
856857 return AllDevicesList.getNameData ();
857858 }
@@ -869,7 +870,7 @@ ALC_API auto ALC_APIENTRY alcGetString(ALCdevice *const device, ALCenum const pa
869870 CaptureDevicesList.appendDeviceList (
870871 drv.alcGetString (nullptr , ALC_CAPTURE_DEVICE_SPECIFIER ), idx);
871872 ++idx;
872- }, &DriverIfacePtr:: operator * );
873+ }, al::dereference{} );
873874 CaptureDevicesList.finishEnumeration ();
874875 return CaptureDevicesList.getNameData ();
875876 }
@@ -880,7 +881,7 @@ ALC_API auto ALC_APIENTRY alcGetString(ALCdevice *const device, ALCenum const pa
880881 {
881882 return drv.ALCVer >= MakeALCVer (1 , 1 )
882883 || drv.alcIsExtensionPresent (nullptr , " ALC_ENUMERATION_EXT" );
883- }, &DriverIfacePtr:: operator * );
884+ }, al::dereference{} );
884885 if (iter != DriverList.end ())
885886 return (*iter)->alcGetString (nullptr , ALC_DEFAULT_DEVICE_SPECIFIER );
886887 return " " ;
@@ -891,7 +892,7 @@ ALC_API auto ALC_APIENTRY alcGetString(ALCdevice *const device, ALCenum const pa
891892 auto const iter = std::ranges::find_if (DriverList, [](const DriverIface &drv)
892893 {
893894 return drv.alcIsExtensionPresent (nullptr , " ALC_ENUMERATE_ALL_EXT" ) != ALC_FALSE ;
894- }, &DriverIfacePtr:: operator * );
895+ }, al::dereference{} );
895896 if (iter != DriverList.end ())
896897 return (*iter)->alcGetString (nullptr , ALC_DEFAULT_ALL_DEVICES_SPECIFIER );
897898 return " " ;
@@ -903,7 +904,7 @@ ALC_API auto ALC_APIENTRY alcGetString(ALCdevice *const device, ALCenum const pa
903904 {
904905 return drv.ALCVer >= MakeALCVer (1 , 1 )
905906 || drv.alcIsExtensionPresent (nullptr , " ALC_EXT_CAPTURE" );
906- }, &DriverIfacePtr:: operator * );
907+ }, al::dereference{} );
907908 if (iter != DriverList.end ())
908909 return (*iter)->alcGetString (nullptr , ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER );
909910 return " " ;
@@ -1011,7 +1012,7 @@ ALC_API auto ALC_APIENTRY alcCaptureOpenDevice(ALCchar const *const devicename,
10111012 return true ;
10121013 }
10131014 return false ;
1014- }, &DriverIfacePtr:: operator * );
1015+ }, al::dereference{} );
10151016 if (iter == DriverList.end ())
10161017 {
10171018 LastError.store (ALC_INVALID_DEVICE );
@@ -1156,7 +1157,7 @@ ALC_API auto ALC_APIENTRY alcLoopbackOpenDeviceSOFT(ALCchar const *const deviceN
11561157 return true ;
11571158 }
11581159 return false ;
1159- }, &DriverIfacePtr:: operator * );
1160+ }, al::dereference{} );
11601161 if (iter == DriverList.end ())
11611162 {
11621163 LastError.store (ALC_INVALID_DEVICE );
0 commit comments