# Juliet\include\Core\Networking\NetworkPacket

## Source Files
- Header: `Juliet\include\Core\Networking\NetworkPacket.h`
- Source: `Juliet\src\Core\Networking\NetworkPacket.cpp`

## AI Description
The `NetworkPacket` class in the Juliet library is designed to handle network data packets efficiently. It uses a `Vector?Byte?` to store the raw bytes of the packet, which allows for dynamic resizing and efficient memory management. The class provides methods to serialize and deserialize various types of data into the packet, such as integers and strings. The `GetRawData` method returns the entire packet as a `ByteBuffer`, which can be used for transmission over a network or saved to a file. The class also includes friend functions for easy serialization and deserialization of specific data types.

## Symbols

### Namespace `Juliet`

#### Classes, Structs & Unions
- `class Vector`
- `class NetworkPacket`

#### Functions & Methods
- `public: NetworkPacket::NetworkPacket()`
- `virtual NetworkPacket::~NetworkPacket()`
- `NetworkPacket::NetworkPacket(NetworkPacket&)`
- `NetworkPacket::NetworkPacket(NetworkPacket&&)`
- `ByteBuffer NetworkPacket::GetRawData()`
- `protected:
        void NetworkPacket::Append(ByteBuffer buffer)`

