1 #ifndef CASM_QueryHandler
2 #define CASM_QueryHandler
12 class ProjectSettings;
14 template<
typename DataObject>
15 struct QueryTraits {};
17 template<
typename _DataObject>
46 void add_alias(
const std::string &alias_name,
const std::string &alias_command);
52 const std::map<std::string, std::string> &
aliases()
const {
56 std::unique_ptr<QueryHandler<DataObject> >
clone()
const {
57 return std::unique_ptr<QueryHandler<DataObject> >(this->
_clone());
66 std::map<std::string, std::string> &
_aliases() {
80 std::map<std::string, std::shared_ptr<RuntimeLibrary> >
m_lib;
85 template<
typename DataFormatterDictInserter,
typename RuntimeLibInserter>
86 std::pair<DataFormatterDictInserter, RuntimeLibInserter>
89 DataFormatterDictInserter dict_it,
90 RuntimeLibInserter lib_it);
std::map< std::string, std::string > & _aliases()
Access aliases map.
QueryHandler(const ProjectSettings &set)
Read/modify settings of an already existing CASM project.
void set_selected(const typename QueryTraits< DataObject >::Selected &selection)
Set the selection to be used for the 'selected' column.
DataFormatterDictionary< DataObject > m_dict
std::pair< DataFormatterDictInserter, RuntimeLibInserter > load_query_plugins(const ProjectSettings &set, DataFormatterDictInserter dict_it, RuntimeLibInserter lib_it)
Load enumerator plugins from a CASM project.
DataFormatterDictionary< DataObject > & dict()
void add_alias(const std::string &alias_name, const std::string &alias_command)
Add user-defined query alias.
const ProjectSettings * m_set
std::unique_ptr< QueryHandler< DataObject > > clone() const
std::map< std::string, std::shared_ptr< RuntimeLibrary > > m_lib
const std::map< std::string, std::string > & aliases() const
const Access aliases map
std::map< std::string, std::string > m_aliases
QueryHandler< DataObject > * _clone() const override