#ifndef __CATALOG_H__
#define __CATALOG_H__

#include <cstdint>
#include <string>
#include <vector>

#include "CatalogItem.h"


class Catalog
{
public:

    Catalog();

    ~Catalog();

    inline std::vector<CatalogItem>::iterator begin()
    {
        return m_catalog.begin();
    }

    inline std::vector<CatalogItem>::iterator end()
    {
        return m_catalog.end();
    }

    void setAllVisible();

    void filter(const std::string& criteria);



private:

    std::vector<CatalogItem> m_catalog;

};


#endif // __CATALOG_H__