class OdimVisitor {
public:
protected:
};
if (type == OdimH5v20::OBJECT_PVOL) {
visit(o);
}
else {
visit(*obj);
}
}
#include <iostream>
class ConcreteOdimVisitor : public OdimVisitor {
private:
std::ostream& out;
public:
ConcreteOdimVisitor(std::ostream& out) : out(out) {}
protected:
throw std::logic_error(
"Tipo non supportato: " + obj.
getObject());
}
out << "Trovato un volume polare" << std::endl;
}
};
int main(int argc, const char** argv)
{
ConcreteOdimVisitor visitor(std::cout);
try {
visitor(object);
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
OdimH5 objects factory.
Definition odimh5v20_factory.hpp:50
virtual OdimObject * open(const std::string &path)
Get a OdimH5 object from an existing file.
Definition odimh5v20_factory.cpp:112
Generic OdimH5 v2.0 object.
Definition odimh5v20_classes.hpp:95
virtual std::string getObject()
Get the value of 'object' attribute.
Definition odimh5v20_classes.cpp:292
OdimH5 v2.0 Polar Volume.
Definition odimh5v20_classes.hpp:846
Main header file of the library.