# Juliet\include\Core\Common\EnumUtils

## Source Files
- Header: `Juliet\include\Core\Common\EnumUtils.h`

## AI Description
The `EnumUtils.h` header file in the Juliet project provides a collection of utility functions for working with enums in C++. The primary purpose is to provide a set of operators that allow for bitwise operations, arithmetic operations, and conversion between enum values and their underlying integer representations. This makes it easier to manipulate enum values programmatically without having to manually cast them between different types.

The `IsEnum` concept checks if a type is an enum, ensuring that the template functions only operate on valid enum types. The provided operators include bitwise NOT (`~`), OR (`|`), AND (`?`), XOR (`^`), and subtraction (`-`). Additionally, there are overloaded assignment operators for each of these operations to allow chaining assignments.

The `ToUnderlying` function converts an enum value to its underlying integer representation, while the `ToEnum` function converts an integer back to the corresponding enum value. These utility functions simplify common tasks related to enum manipulation in C++, making the code more readable and maintainable.

## Symbols

*No symbols detected.*
