variant_visitor.h
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 #pragma once
00013 
00014 #include <opc/ua/protocol/variant.h>
00015 
00016 
00017 namespace OpcUa
00018 {
00019 
00020   template <typename Delegate>
00021   class TypedVisitor : public VariantVisitor
00022   {
00023   public:
00024     typedef void result_type;
00025 
00026   public:
00027     TypedVisitor(Delegate& impl)
00028       : Impl(impl)
00029     {
00030     }
00031 
00032   public:
00033     virtual void Visit(bool val) { Impl.OnScalar(val); }
00034     virtual void Visit(const std::vector<bool>& val) { Impl.OnContainer(val); }
00035     virtual void Visit(int8_t val) { Impl.OnScalar(val); }
00036     virtual void Visit(const std::vector<int8_t>& val) { Impl.OnContainer(val); }
00037     virtual void Visit(uint8_t val) { Impl.OnScalar(val); }
00038     virtual void Visit(const std::vector<uint8_t>& val) { Impl.OnContainer(val); }
00039     virtual void Visit(int16_t val) { Impl.OnScalar(val); }
00040     virtual void Visit(const std::vector<int16_t>& val) { Impl.OnContainer(val); }
00041     virtual void Visit(uint16_t val) { Impl.OnScalar(val); }
00042     virtual void Visit(const std::vector<uint16_t>& val) { Impl.OnContainer(val); }
00043     virtual void Visit(int32_t val) { Impl.OnScalar(val); }
00044     virtual void Visit(const std::vector<int32_t>& val) { Impl.OnContainer(val); }
00045     virtual void Visit(uint32_t val) { Impl.OnScalar(val); }
00046     virtual void Visit(const std::vector<uint32_t>& val) { Impl.OnContainer(val); }
00047     virtual void Visit(int64_t val) { Impl.OnScalar(val); }
00048     virtual void Visit(const std::vector<int64_t>& val) { Impl.OnContainer(val); }
00049     virtual void Visit(uint64_t val) { Impl.OnScalar(val); }
00050     virtual void Visit(const std::vector<uint64_t>& val) { Impl.OnContainer(val); }
00051     virtual void Visit(float val) { Impl.OnScalar(val); }
00052     virtual void Visit(const std::vector<float>& val) { Impl.OnContainer(val); }
00053     virtual void Visit(double val) { Impl.OnScalar(val); }
00054     virtual void Visit(const std::vector<double>& val) { Impl.OnContainer(val); }
00055     virtual void Visit(const std::string& val) { Impl.OnScalar(val); }
00056     virtual void Visit(const std::vector<std::string>& val) { Impl.OnContainer(val); }
00057     virtual void Visit(const DateTime& val) { Impl.OnScalar(val); }
00058     virtual void Visit(const std::vector<DateTime>& val) { Impl.OnContainer(val); }
00059     virtual void Visit(const Guid& val) { Impl.OnScalar(val); }
00060     virtual void Visit(const std::vector<Guid>& val) { Impl.OnContainer(val); }
00061     virtual void Visit(const ByteString& val) { Impl.OnScalar(val); }
00062     virtual void Visit(const std::vector<ByteString>& val) { Impl.OnContainer(val); }
00063     virtual void Visit(const NodeId& val) { Impl.OnScalar(val); }
00064     virtual void Visit(const std::vector<NodeId>& val) { Impl.OnContainer(val); }
00065     virtual void Visit(const StatusCode& val) { Impl.OnScalar(val); }
00066     virtual void Visit(const std::vector<StatusCode>& val) { Impl.OnContainer(val); }
00067     virtual void Visit(const LocalizedText& val) { Impl.OnScalar(val); }
00068     virtual void Visit(const std::vector<LocalizedText>& val) { Impl.OnContainer(val); }
00069     virtual void Visit(const QualifiedName& val) { Impl.OnScalar(val); }
00070     virtual void Visit(const std::vector<QualifiedName>& val) { Impl.OnContainer(val); }
00071     virtual void Visit(const Variant& val) { Impl.OnScalar(val); }
00072     virtual void Visit(const std::vector<Variant>& val) { Impl.OnContainer(val); }
00073     virtual void Visit(const DiagnosticInfo& val) { Impl.OnScalar(val); }
00074     virtual void Visit(const std::vector<DiagnosticInfo>& val) { Impl.OnContainer(val); }
00075 
00076   private:
00077     Delegate& Impl;
00078   };
00079 
00080 
00081 }


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Sat Jun 8 2019 18:24:57