CyberEngineMkIII
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CYBModule.hpp
Go to the documentation of this file.
1 #pragma once
3 namespace CYB {
4  namespace Platform {
5  namespace Modules {
7  class Module : protected Implementation::Module {
8  public:
16  Module(const API::String::CStyle& AModuleName);
17  Module(const Module&) = delete;
18  Module(Module&& AMove) noexcept = default;
19  Module& operator=(Module&& AMove) noexcept = default;
20 
23  ~Module() = default;
24 
33  void* LoadFunction(const API::String::CStyle& AFunctionName);
34  };
35  };
36  };
37 };
Encompasses a handle on loaded modules.
Definition: CYBModule.hpp:7
void * LoadFunction(const API::String::CStyle &AFunctionName)
Load a pointer to a function from a module. Pointer valid for as long as one reference to the owned m...
A basic char contained string.
Definition: CStyleString.hpp:7
Module & operator=(Module &&AMove) noexcept=default
See Default Constructors and Destructor.
Module(const API::String::CStyle &AModuleName)
Constructs a module reference. The module named by ANonSuffixedModuleName will be loaded into the pro...
Definition: CYBModule.cpp:4
~Module()=default
Destroys a module reference. If all references to a module are destroyed, functions loaded from those...