# Juliet\include\Core\HAL\DynLib\DynamicLibrary

## Source Files
- Header: `Juliet\include\Core\HAL\DynLib\DynamicLibrary.h`

## AI Description
The `DynamicLibrary` class in the Juliet library is designed to provide a high-level interface for loading and managing dynamic libraries (DLLs) in C++. It encapsulates the functionality required to load a DLL, retrieve function pointers from it, and unload the DLL when it's no longer needed. The class uses non-null pointers to ensure that the DLL and its functions are properly managed throughout the application. This design allows for easy integration of various libraries into applications without having to manually manage the loading and unloading process.

## Symbols

### Namespace `Juliet`

#### Functions & Methods
- `extern JULIET_API DynamicLibrary* LoadDynamicLibrary(const char* filename)`
- `extern JULIET_API FunctionPtr LoadFunction(NonNullPtr<DynamicLibrary> lib, const char* functionName)`
- `extern JULIET_API void UnloadDynamicLibrary(NonNullPtr<DynamicLibrary> lib)`

