Skip to content

Instantly share code, notes, and snippets.

@pvalienteverde
Last active December 4, 2016 10:39
Show Gist options
  • Select an option

  • Save pvalienteverde/d4fb94bb4a1bc5649d2836b027cd2698 to your computer and use it in GitHub Desktop.

Select an option

Save pvalienteverde/d4fb94bb4a1bc5649d2836b027cd2698 to your computer and use it in GitHub Desktop.
Mostramos la interfaz publica de la clase Domicilio para los ejemplos sobre iteradores personalizados o de filtros por medio de boost::filter_iterator o boost::adaptors::filtered en http://wp.me/p7ezBh-4r . Para ver la interfaz completa: https://goo.gl/C58QEG
class Domicilio {
public:
Domicilio(int codigo_postal, int huespedes, std::string informacion = "");
~Domicilio() = default;
/**
* Getters y setters de atributos
*/
int CodigoPostal() const;
int Huespedes() const;
void Informacion(const std::string &informacion);
std::string Informacion() const;
std::string ToString() const;
/**
* Se genera una lista de domicilios por medio de una distribucion uniforme entre
* [codigo_postal_inicial,codigo_postal_final]
* @param numero_de_domicilios
* @param codigo_postal_inicial
* @param codigo_postal_final
* @return std::vector<Domicilio> con tamaño numero_de_domicilios
*/
static std::vector<Domicilio> DomiciliosRandom(size_t numero_de_domicilios,
int codigo_postal_inicial, int codigo_postal_final);
size_t numero_de_domicilios(20);
int codigo_postal_inicial(29000);
int codigo_postal_final(29002);
int codigo_postal_filtro(29001);
std::vector<Domicilio> domicilios_provincia = Domicilio::DomiciliosRandom(
numero_de_domicilios, codigo_postal_inicial, codigo_postal_final);
std::function<bool(Domicilio)> filtro_cp29001 = [codigo_postal_filtro](const Domicilio &domicilio)
{return domicilio.CodigoPostal()==codigo_postal_filtro;};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment