Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
Cargando...
Buscando...
Nada coincide
Referencia de la plantilla de la clase EU::TMap< K, V >

TMap es una clase de mapa (diccionario) dinámica para almacenar pares clave-valor. Más...

#include <TMap.h>

+ Diagrama de colaboración de EU::TMap< K, V >:

Clases

struct  Pair
 

Métodos públicos

void Add (const K &Key, const V &Value)
 Añade un nuevo par clave-valor al mapa.
 
size_t GetCapacity () const
 Devuelve la capacidad actual del mapa.
 
size_t Num () const
 Devuelve el número de pares actualmente en el mapa.
 
V & operator[] (const K &Key)
 Sobrecarga del operador [] para acceder a valores por clave.
 
const V & operator[] (const K &Key) const
 Versión constante de la sobrecarga del operador [] para acceder a valores por clave.
 
void Remove (const K &Key)
 Elimina el par clave-valor en la posición especificada.
 
 TMap ()
 Constructor por defecto que inicializa el mapa con capacidad y tamaño cero.
 
 ~TMap ()
 Destructor que libera la memoria asignada al mapa.
 

Métodos privados

void Resize (size_t NewCapacity)
 Redimensiona el mapa para tener una nueva capacidad.
 

Atributos privados

size_t Capacity
 Capacidad actual del mapa (número de pares que puede almacenar).
 
PairData
 Puntero a la memoria donde se almacenan los pares clave-valor.
 
size_t Size
 Número de pares actualmente en el mapa.
 

Descripción detallada

template<typename K, typename V>
class EU::TMap< K, V >

Esta implementación de TMap proporciona una forma sencilla de almacenar y gestionar colecciones de pares clave-valor, con operaciones básicas como agregar, eliminar y acceder a valores. La memoria se gestiona dinámicamente, aumentando la capacidad del mapa según sea necesario.

Parámetros de plantilla
KEl tipo de las claves.
VEl tipo de los valores.

Definición en la línea 47 del archivo TMap.h.

Documentación de constructores y destructores

◆ TMap()

template<typename K , typename V >
EU::TMap< K, V >::TMap ( )
inline

Definición en la línea 84 del archivo TMap.h.

◆ ~TMap()

template<typename K , typename V >
EU::TMap< K, V >::~TMap ( )
inline

< Liberar la memoria del mapa.

Definición en la línea 92 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Data.

Documentación de funciones miembro

◆ Add()

template<typename K , typename V >
void EU::TMap< K, V >::Add ( const K &  Key,
const V &  Value 
)
inline
Parámetros
KeyLa clave del nuevo par.
ValueEl valor del nuevo par.

< Actualizar el valor si la clave ya existe.

< Redimensionar si es necesario.

< Añadir el nuevo par y aumentar el tamaño.

Definición en la línea 103 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Capacity, EU::TMap< K, V >::Data, EU::TMap< K, V >::Resize(), EU::TMap< K, V >::Size y EU::TMap< K, V >::Pair::Value.

◆ GetCapacity()

template<typename K , typename V >
size_t EU::TMap< K, V >::GetCapacity ( ) const
inline
Devuelve
La capacidad del mapa.

< Devolver la capacidad actual del mapa.

Definición en la línea 195 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Capacity.

◆ Num()

template<typename K , typename V >
size_t EU::TMap< K, V >::Num ( ) const
inline
Devuelve
El número de pares en el mapa.

< Devolver el tamaño actual del mapa.

Definición en la línea 185 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Size.

◆ operator[]() [1/2]

template<typename K , typename V >
V & EU::TMap< K, V >::operator[] ( const K &  Key)
inline
Parámetros
KeyLa clave del valor a acceder.
Devuelve
Referencia al valor asociado con la clave especificada.

< Devolver el valor si la clave se encuentra.

< Manejar el caso de clave no encontrada.

< Salir del programa en caso de error.

Definición en la línea 148 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Data, EU::TMap< K, V >::Size y EU::TMap< K, V >::Pair::Value.

◆ operator[]() [2/2]

template<typename K , typename V >
const V & EU::TMap< K, V >::operator[] ( const K &  Key) const
inline
Parámetros
KeyLa clave del valor a acceder.
Devuelve
Referencia constante al valor asociado con la clave especificada.

< Devolver el valor si la clave se encuentra.

< Manejar el caso de clave no encontrada.

< Salir del programa en caso de error.

Definición en la línea 167 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Data, EU::TMap< K, V >::Size y EU::TMap< K, V >::Pair::Value.

◆ Remove()

template<typename K , typename V >
void EU::TMap< K, V >::Remove ( const K &  Key)
inline
Parámetros
KeyLa clave del par a eliminar.

< Desplazar los pares hacia la izquierda para llenar el hueco.

< Disminuir el tamaño del mapa.

< Manejar el caso de clave no encontrada.

Definición en la línea 125 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Data y EU::TMap< K, V >::Size.

◆ Resize()

template<typename K , typename V >
void EU::TMap< K, V >::Resize ( size_t  NewCapacity)
inlineprivate
Parámetros
NewCapacityLa nueva capacidad del mapa.

< Crear un nuevo bloque de memoria con la nueva capacidad.

< Copiar los pares existentes al nuevo bloque de memoria.

< Liberar la memoria del mapa antiguo.

< Actualizar el puntero Data para que apunte al nuevo bloque de memoria.

< Actualizar la capacidad del mapa.

Definición en la línea 68 del archivo TMap.h.

Hace referencia a EU::TMap< K, V >::Capacity, EU::TMap< K, V >::Data y EU::TMap< K, V >::Size.

Referenciado por EU::TMap< K, V >::Add().

Documentación de datos miembro

◆ Capacity

template<typename K , typename V >
size_t EU::TMap< K, V >::Capacity
private

Definición en la línea 60 del archivo TMap.h.

Referenciado por EU::TMap< K, V >::Add(), EU::TMap< K, V >::GetCapacity() y EU::TMap< K, V >::Resize().

◆ Data

template<typename K , typename V >
Pair* EU::TMap< K, V >::Data
private

◆ Size

template<typename K , typename V >
size_t EU::TMap< K, V >::Size
private

La documentación de esta clase está generada del siguiente archivo: