32 std::map<std::string, std::shared_ptr<Element> >
children;
46 std::shared_ptr<Element>
self;
96 Element(std::shared_ptr<Element> parent, std::string uuid, std::string name, std::string description, std::string ontology =
"");
113 std::vector<std::string> fqid(
void);
126 std::shared_ptr<Element> operator[] (std::string fqid);
136 std::shared_ptr<Element> add(std::string uuid, std::shared_ptr<Element> child);
147 std::shared_ptr<Element> add(std::string uuid,
Element* child);
158 bool insert(std::string uuid, std::shared_ptr<Element> child);
170 bool insert(std::string uuid,
Element* child);
180 bool remove(std::string uuid);
191 template<
typename T> T* cast(
void);
201 bool is_object(
void)
const;
211 bool is_variable(
void)
const;
221 bool is_function(
void)
const;
231 bool is_parameter(
void)
const;
249 virtual std::string
json(
void);
266 return dynamic_cast<T*
>(
self.get());
HTTP Resource base class.
std::map< std::string, std::shared_ptr< Element > > children
Children Map.
T * cast(void)
Get dynamically casted pointer.
std::string uuid
Local UUID.
std::string description
Description.
std::string ontology
Ontology identifier.
std::shared_ptr< Element > parent
Parent Pointer.
std::recursive_mutex mutex
Element Mutex.
std::shared_ptr< Element > self
Self Pointer.
web::json::value Json
HTTP JSON.
web::http::http_request Request
HTTP Request.
web::http::http_response Response
HTTP Response.
void null_deleter(SOIL::Element *ptr)
Null deleter.