DDS
ver. 3.6
|
#include <TopoContainer.h>
Public Types | |
typedef std::shared_ptr< CTopoContainer > | Ptr_t |
typedef std::vector< CTopoContainer::Ptr_t > | PtrVector_t |
Public Types inherited from dds::topology_api::CTopoElement | |
using | Ptr_t = std::shared_ptr< CTopoElement > |
using | PtrVector_t = std::vector< CTopoElement::Ptr_t > |
Public Types inherited from dds::topology_api::CTopoBase | |
enum | EType { EType::TOPO_BASE, EType::TOPO_PROPERTY, EType::TOPO_ELEMENT, EType::TASK, EType::COLLECTION, EType::GROUP, EType::REQUIREMENT, EType::TOPO_VARS, EType::TRIGGER } |
using | Ptr_t = std::shared_ptr< CTopoBase > |
using | PtrVector_t = std::vector< CTopoBase::Ptr_t > |
Public Member Functions | |
size_t | getNofElements () const |
Return number of elements. More... | |
CTopoElement::Ptr_t | getElement (size_t _i) const |
Return topology element by index. More... | |
const CTopoElement::PtrVector_t & | getElements () const |
Return vector of elements. More... | |
CTopoElement::Ptr_t | addElement (CTopoBase::EType _type, const std::string &_name) |
Adds TopoElement to a container using enum type. More... | |
template<class Object_t > | |
Object_t::Ptr_t | addElement (const std::string &_name) |
Adds TopoElement to a container using specified type. CTopoTask, CTopoCollection and CTopoGroup are supported. More... | |
virtual std::string | toString () const |
Returns string representation of an object. More... | |
template<> | |
CTopoTask::Ptr_t | addElement (const std::string &_name) |
template<> | |
CTopoCollection::Ptr_t | addElement (const std::string &_name) |
template<> | |
CTopoGroup::Ptr_t | addElement (const std::string &_name) |
Public Member Functions inherited from dds::topology_api::CTopoElement | |
virtual size_t | getNofTasks () const =0 |
Return number of all tasks including daughter elements. More... | |
virtual size_t | getTotalNofTasks () const =0 |
Return total number of tasks, i.e. number of tasks multiplied by n. More... | |
Public Member Functions inherited from dds::topology_api::CTopoBase | |
void | setName (const std::string &_name) |
Modifiers. More... | |
void | setParent (CTopoBase *_parent) |
const std::string & | getName () const |
Accessors. More... | |
CTopoBase::EType | getType () const |
CTopoBase * | getParent () const |
std::string | getPath () const |
Return full path to topo element or property. More... | |
void | initFromXML (const std::string &_filepath, const std::string &_schemaFilepath="", std::string *_topologyName=nullptr) |
Initializes object with data from XML file. More... | |
void | initFromXML (std::istream &_stream, const std::string &_schemaFilepath="", std::string *_topologyName=nullptr) |
Initializes object with data from XML input stream. More... | |
virtual void | initFromPropertyTree (const boost::property_tree::ptree &_pt)=0 |
Initialize object with data from property tree. More... | |
virtual void | saveToPropertyTree (boost::property_tree::ptree &_pt)=0 |
Save object to a property tree. More... | |
virtual std::string | hashString () const =0 |
Returns string which is used to calculate CRC checksum of the object. More... | |
Protected Member Functions | |
CTopoContainer (const std::string &_name) | |
Constructor. More... | |
virtual | ~CTopoContainer () |
Destructor. More... | |
size_t | getNofTasksDefault () const |
Default implementation for TopoElement::getNofTasks, TopoElement::getTotalNofTasks. Calculate recursively number of tasks in all daughter elements. More... | |
bool | canAddElement (CTopoBase::EType _type) |
Checks if element can be added to the container. TopoTask can be added to any container (TopoCollection or TopoGroup). TopoCollection can be added only to TopoGroup. TopoGroup can be added only to Main TopoGroup. More... | |
template<class Object_t > | |
Object_t::Ptr_t | makeElement (const std::string &_name) |
Makes new topology element. More... | |
Protected Member Functions inherited from dds::topology_api::CTopoElement | |
CTopoElement (const std::string &_name) | |
Constructor. More... | |
virtual | ~CTopoElement () |
Destructor. More... | |
size_t | getTotalCounterDefault () const |
If parent is a group than return N, else return 1. Default implementation for Task::getTotalCounter and TaskCollection::getTotalCounter. More... | |
Protected Member Functions inherited from dds::topology_api::CTopoBase | |
CTopoBase (const std::string &_name) | |
Constructor. More... | |
virtual | ~CTopoBase () |
Destructor. More... | |
void | setType (CTopoBase::EType _type) |
Friends | |
std::ostream & | operator<< (std::ostream &_strm, const CTopoContainer &_taskContainer) |
Operator << for convenient output to ostream. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from dds::topology_api::CTopoBase | |
template<class Object_t > | |
static Object_t::Ptr_t | make (const std::string &_objectName, const std::string &_filepath, const std::string &_schemaFilepath="", std::string *_topologyName=nullptr) |
Convenience API to create topology object from XML file. More... | |
template<class Object_t > | |
static Object_t::Ptr_t | make (const std::string &_objectName, std::istream &_stream, const std::string &_schemaFilepath="", std::string *_topologyName=nullptr) |
Convenience API to create topology object from XML file. More... | |
template<class Object_t > | |
static Object_t::Ptr_t | make (const std::string &_name, const boost::property_tree::ptree &_pt) |
Convenience API to create topology object with data from property tree. More... | |
typedef std::shared_ptr<CTopoContainer> dds::topology_api::CTopoContainer::Ptr_t |
typedef std::vector<CTopoContainer::Ptr_t> dds::topology_api::CTopoContainer::PtrVector_t |
|
protected |
Constructor.
|
protectedvirtual |
Destructor.
CTopoElement::Ptr_t CTopoContainer::addElement | ( | CTopoBase::EType | _type, |
const std::string & | _name | ||
) |
Adds TopoElement to a container using enum type.
[in] | _type | Type of the element to be added to the container (Task, Collection or Group). |
std::runtime_error | if element can't be added. |
Object_t::Ptr_t dds::topology_api::CTopoContainer::addElement | ( | const std::string & | _name | ) |
Adds TopoElement to a container using specified type. CTopoTask, CTopoCollection and CTopoGroup are supported.
std::runtime_error | if element can't be added. |
CTopoTask::Ptr_t dds::topology_api::CTopoContainer::addElement | ( | const std::string & | _name | ) |
CTopoCollection::Ptr_t dds::topology_api::CTopoContainer::addElement | ( | const std::string & | _name | ) |
CTopoGroup::Ptr_t dds::topology_api::CTopoContainer::addElement | ( | const std::string & | _name | ) |
|
protected |
Checks if element can be added to the container. TopoTask can be added to any container (TopoCollection or TopoGroup). TopoCollection can be added only to TopoGroup. TopoGroup can be added only to Main TopoGroup.
[in] | _type | Type of the element to be added to the container. |
CTopoElement::Ptr_t CTopoContainer::getElement | ( | size_t | _i | ) | const |
Return topology element by index.
std::out_of_range |
const CTopoElement::PtrVector_t & CTopoContainer::getElements | ( | ) | const |
Return vector of elements.
size_t CTopoContainer::getNofElements | ( | ) | const |
Return number of elements.
|
protected |
Default implementation for TopoElement::getNofTasks, TopoElement::getTotalNofTasks. Calculate recursively number of tasks in all daughter elements.
|
inlineprotected |
Makes new topology element.
std::runtime_error | if element can't be added. |
|
virtual |
Returns string representation of an object.
Reimplemented from dds::topology_api::CTopoBase.
Reimplemented in dds::topology_api::CTopoGroup.
|
friend |
Operator << for convenient output to ostream.