39 #ifndef OME_COMMON_XML_DOM_WRAPPER_H 40 #define OME_COMMON_XML_DOM_WRAPPER_H 44 #include <ome/common/config.h> 46 #include <ome/common/xml/dom/Base.h> 71 template<
typename WrappedType,
typename Parent>
109 template<
typename Deleter>
116 std::shared_ptr<base_element_type> pbase;
118 pbase = std::shared_ptr<base_element_type>(base, del);
120 pbase = std::shared_ptr<base_element_type>();
134 std::shared_ptr<base_element_type> pbase;
136 pbase = std::shared_ptr<base_element_type>(base, &ome::common::xml::dom::detail::unmanaged<base_element_type>);
138 pbase = std::shared_ptr<base_element_type>();
183 this->wrapped = this->
template assign_check<element_type>(
const_cast<base_element_type *
>(wrapped.
get()));
184 parent_type::assign(wrapped);
196 this->wrapped = this->
template assign_check<element_type>(wrapped.get());
197 parent_type::assign(wrapped);
272 #endif // OME_COMMON_XML_DOM_WRAPPER_H element_type * wrapped
The wrapped type.
Definition: Wrapper.h:264
~Wrapper()
Destructor.
Definition: Wrapper.h:143
Xerces DOM class wrapper.
Definition: Wrapper.h:72
Parent parent_type
Parent type.
Definition: Wrapper.h:76
virtual void assign(const base_type &wrapped)
Assign a new wrapped value.
Definition: Wrapper.h:181
WrappedType element_type
Wrapped Xerces element type.
Definition: Wrapper.h:82
parent_type::base_element_type base_element_type
Base element type.
Definition: Wrapper.h:80
Wrapper(typename parent_type::base_element_type *base)
Construct a Wrapper from a base_element_type * (unmanaged).
Definition: Wrapper.h:130
Open Microscopy Environment C++.
Definition: base64.h:48
base_element_type * get()
Get wrapped base_element_type *.
Definition: Base.h:129
Wrapper(typename parent_type::base_element_type *base, Deleter del)
Construct a Wrapper from a base_element_type * (managed).
Definition: Wrapper.h:111
Wrapper & operator=(const Wrapper &wrapped)
Assign a Wrapper.
Definition: Wrapper.h:208
element_type * operator->()
Dereference to element_type.
Definition: Wrapper.h:244
Base of the DOM wrapper hierarchy.
Definition: Base.h:76
virtual void assign(std::shared_ptr< base_element_type > &wrapped)
Assign a new wrapped value.
Definition: Wrapper.h:194
xercesc::DOMNode base_element_type
Base element type (root type of the wrapped type).
Definition: Base.h:82
element_type & operator*()
Dereference to element_type.
Definition: Wrapper.h:220
Wrapper()
Constructor.
Definition: Wrapper.h:85
parent_type::base_type base_type
Base type.
Definition: Wrapper.h:78
Wrapper(const base_type &base)
Copy construct a Wrapper.
Definition: Wrapper.h:96