Buenas
VeS, lo del history, pues así a voz de pronto, no sé donde sería mas adecuado (choice, submenu), depende de lo que hagan las funciones, probablemente en ambas. jejeje.
Como creo que te dije un día, no te preocupes por eso, tu haz que mas o menos funcione y cuando pasemos al tema ya hacemos un popurrí
En cuanto al codigo que pones, se puede dividir en dos partes, la primera es para generar la lista de juegos a mostrar, que deben cumplir las condiciones y tal...
y la segunda en la que si no hay juegos muestra un mensaje.
OK, nos centramos en la segunda.
No puedes poner que muestre el tipo tirando de rs.include_type_get() ya que esta funcion no devuelve un string, como es el caso de los favoritos.
Si te fijas en mconfig.h la clase config_starte (rs es de tipo config_state) la funcion include_favorites_get() devuelve un string que es el nombre de la lista de favoritos mostrada, esto es así porque no se pueden mostrar mas de una lista a la vez. Pero lo que devuelve include_type_get() es un contenedor/coleccion de strings, en concreto devuelve el tipo "category_container".
category_container está descrito en category.h
CODE
typedef std::set<std::string> category_container;
set es el contenedor/coleccion y lo que va entre <> es el tipo de datos, lo puedes pensar como si fuese un array de strings, es mas array es tambien un tipo de contenedor.
Los distintos contenedores los puedes consultar aquí:
www.cplusplus.com/reference/stl/ cada uno tiene sus peculiaridades, los mas conocidos son el array, el list y el set.
include_type es un contenedor porque, al contrario de los favoritos, en una lista se pueden mostrar mas de un tipo.
Por lo tanto, para obtener el tipo o tipos mostrados hay que recorrerse el contenedor category_container, algo así:
CODE
string types = "";
for(category_container::const_iterator j=rs.include_type_get().begin();j!=rs.include_type_get().end();++j) {
types += (*j) + "/";
}
De esta forma, si por ejemplo estamos mostrando los tipos coches y deportes, pues la variable types tendrá la forma: coches/deportes/ y ya la podrás usar en el mensaje.
para mejorar esto cuando sales del for puedes decirle que quite el ultimo "/" con:
CODE
types.erase(types.legth() - 1);
u otra forma
Pues nada, espero haberme explicado, si no, pregunta.
APUNTO: lo del tag %clone% que sugería Rockman -> HECHO