/ / Aumenta la clave compuesta de índice múltiple para índices de múltiples columnas - c ++, search, boost, boost-multi-index

Aumente la clave compuesta de múltiples índices para índices de columnas múltiples - c ++, search, boost, boost-multi-index

Tengo algunos registros, el patrón es (id, longitud, ancho);

Quiero buscar como "longitud en [10,20) y anchura en (20,30]";

Si uso una base de datos relacional, podría crear índices de varias columnas en longitud y anchura.

Necesito hacer ese trabajo en la memoria. Veo Boost Multi-Index support Compuesto clave; Pero encontré que parece que solo es compatible con la búsqueda de igual alcance, que le gusta "longitud == 20 y ancho == 20".

¿Dosificar la consulta de soporte Multi-Index como [10,20) y el ancho en (20,30)?

Parece que multimap <longitud, multimap <ancho, id>> podría cumplir mi requisito, pero es un poco complejo para la codificación.

Respuestas

1 para la respuesta № 1

Me temo que Boost.MultiIndex no es bueno para esto; tenga en cuenta que cada índice (con o sin una clave compuesta) induce una lineal Ordena sobre los elementos, mientras que aquí quieres una disposición 2D. Sugiero echar un vistazo a Boost.Geometry "s Arboles r.