1#ifndef PDBS_PATTERN_COLLECTION_INFORMATION_H
2#define PDBS_PATTERN_COLLECTION_INFORMATION_H
4#include "downward/pdbs/types.h"
6#include "downward/task_proxy.h"
27class PatternCollectionInformation {
29 std::shared_ptr<PatternCollection> patterns;
30 std::shared_ptr<PDBCollection> pdbs;
31 std::shared_ptr<std::vector<PatternClique>> pattern_cliques;
34 void create_pdbs_if_missing();
35 void create_pattern_cliques_if_missing();
37 bool information_is_valid()
const;
40 PatternCollectionInformation(
41 const TaskProxy& task_proxy,
42 const std::shared_ptr<PatternCollection>& patterns,
43 utils::LogProxy& log);
44 ~PatternCollectionInformation() =
default;
46 void set_pdbs(
const std::shared_ptr<PDBCollection>& pdbs);
47 void set_pattern_cliques(
48 const std::shared_ptr<std::vector<PatternClique>>& pattern_cliques);
50 TaskProxy get_task_proxy()
const {
return task_proxy; }
52 std::shared_ptr<PatternCollection> get_patterns()
const;
53 std::shared_ptr<PDBCollection> get_pdbs();
54 std::shared_ptr<std::vector<PatternClique>> get_pattern_cliques();