14 #ifndef __INCLUDED_SCOPIRA_CORE_MODELGROUP_H__ 15 #define __INCLUDED_SCOPIRA_CORE_MODELGROUP_H__ 19 #include <scopira/core/model.h> 20 #include <scopira/tool/export.h> 125 SCOPIRA_EXPORT
project_i(
const std::string &title);
140 typedef std::pair<model_set_t::const_iterator, model_set_t::const_iterator> const_iterator_pair;
141 typedef std::pair<model_set_t::iterator, model_set_t::iterator> iterator_pair;
144 typedef std::map<core::model_i*, core::model_i*> child_map;
149 model_set_t dm_models;
156 SCOPIRA_EXPORT project_base(
const std::string &title);
159 SCOPIRA_EXPORT
virtual ~project_base();
219 void remove_by_range(model_set_t::iterator _begin, model_set_t::iterator _last);
221 class project_iterator;
virtual void clear_project(void)=0
virtual model_i * get_parent(model_i *child)=0
virtual bool load(scopira::tool::iobjflow_i &in)
for title, mostly
Definition: archiveflow.h:20
Definition: project.h:135
virtual model_i * find_model(model_i *parent, const std::string &title) const =0
project_i(void)
Default initing ctor.
virtual void move_project(scopira::core::project_i *rhs)=0
virtual bool get_tagged_model_from_project(model_i *parent, const std::string &name, scopira::tool::count_ptr< scopira::core::model_i > &out)=0
used by model_i
scopira::core::model_iterator model_iterator
the model iterator type
Definition: project.h:42
virtual model_iterator get_model_iterator(model_i *parent) const =0
gets a listing of all the sub models
virtual bool contains_model(model_i *parent, model_i *rec)=0
virtual void add_model(model_i *parent, model_i *rec)=0
virtual void remove_model(model_i *parent, model_i *rec)=0
virtual void save(scopira::tool::oobjflow_i &out) const
for title, mostly
virtual bool is_project(void) const
I AM a project!
Definition: project.h:46
virtual bool is_project_empty(void) const =0