// ----------------------------------------------------------------------------- using index_titles_by_names_t = std::map>; using index_actors_by_years_t = std::map>; using index_titles_by_years_t = std::multimap>; using index_titles_by_actors_t = std::unordered_multimap>; using index_cast_by_genres_t = std::multimap, std::tuple>>; // ----------------------------------------------------------------------------- void db_index_1(const database_t& database, index_titles_by_names_t& index); void db_index_2(const database_t& database, index_actors_by_years_t& index); void db_index_3(const database_t& database, index_titles_by_years_t& index); void db_index_4(const database_t& database, index_titles_by_actors_t& index); void db_index_5(const database_t& database, index_cast_by_genres_t& index); // ----------------------------------------------------------------------------- void db_query_6( const index_titles_by_names_t& index, std::string_view name, std::ostream& stream = std::cout ); void db_query_7( const index_actors_by_years_t& index, int begin, int end, std::ostream& stream = std::cout ); void db_query_8( const index_titles_by_years_t& index, int year, std::ostream& stream = std::cout ); void db_query_9( const index_titles_by_years_t& index, int begin, int end, std::ostream& stream = std::cout ); void db_query_10( const database_t& database, int begin, int end, std::ostream& stream = std::cout ); void db_query_11( const database_t& database, const std::function& predicate, std::ostream& stream = std::cout ); std::vector db_query_12( const index_titles_by_actors_t& index, std::string_view surname ); std::vector db_query_13( const index_cast_by_genres_t& index, std::string_view genre, int year ); // -----------------------------------------------------------------------------