20 #ifndef TRANSFORMER_H_32113356
21 #define TRANSFORMER_H_32113356
35 _document = other.
getImpl()->_document;
36 _baseURL = other.
getImpl()->_baseURL;
37 _scxml = other.
getImpl()->_scxml;
39 _binding = other.
getImpl()->_binding;
42 virtual void writeTo(std::ostream& stream) = 0;
44 throw std::runtime_error(
"Transformer cannot be interpreted as an Interpreter again");
48 std::multimap<std::string, std::string> _extensions;
49 std::list<std::string> _options;
51 XERCESC_NS::DOMDocument* _document;
52 XERCESC_NS::DOMElement* _scxml;
55 InterpreterImpl::Binding _binding;
67 Transformer(std::shared_ptr<TransformerImpl>
const impl) : _impl(impl) { }
71 operator bool()
const {
75 return _impl < other._impl;
78 return _impl == other._impl;
81 return _impl != other._impl;
88 virtual void writeTo(std::ostream& stream) {
89 _impl->writeTo(stream);
95 std::shared_ptr<TransformerImpl> getImpl() {
99 void setExtensions(
const std::multimap<std::string, std::string>& extensions) {
100 _impl->_extensions = extensions;
103 void setOptions(
const std::list<std::string>& options) {
104 _impl->_options = options;
108 std::shared_ptr<TransformerImpl> _impl;
Definition: InterpreterIssue.cpp:33
Central class to interpret and process SCXML documents.
Definition: Interpreter.h:112
std::shared_ptr< InterpreterImpl > getImpl() const
Return the actual implementation of the Interperter.
Definition: Interpreter.h:219