CVB++ 14.0
float_64_reg_node.hpp
1#pragma once
2
3#include "../global.hpp"
4
5#include "float_reg_node.hpp"
6
7namespace Cvb
8{
9 CVB_BEGIN_INLINE_NS
10 namespace GevServer
11 {
17 {
18 public:
19 Float64RegNode(HandleGuard<Node>&& guard) noexcept : FloatRegNode(std::move(guard)) {}
20
34 static Float64RegNodePtr Create(const String& name, const GevServer::Namespace& nameSpace, const std::int64_t& address)
35 {
36 String okName = EnsureNodeNameOnly(name);
37 return std::make_shared<Float64RegNode>(HandleGuard<Node>(
38 CExports::CreateGSFloat64NodeTyped(okName.data(), static_cast<CExports::TGSNamespace>(nameSpace), address)));
39 }
40
52 static Float64RegNodePtr Create(const String& name, const GevServer::Namespace& nameSpace)
53 {
54 return Create(ParseName(name), nameSpace, -1);
55 }
56
74 static Float64RegNodePtr Create(const String& name, const std::int64_t& address)
75 {
76 return Create(ParseName(name), ParseNamespace(name), address);
77 }
78
93 static Float64RegNodePtr Create(const String& name) { return Create(ParseName(name), ParseNamespace(name)); }
94 };
95 }
96 CVB_END_INLINE_NS
97}
An float64 FloatRegNode node.
Definition: float_64_reg_node.hpp:17
static Float64RegNodePtr Create(const String &name, const GevServer::Namespace &nameSpace, const std::int64_t &address)
Creates a new float_64_reg_node with the given name and nameSpace .
Definition: float_64_reg_node.hpp:34
static Float64RegNodePtr Create(const String &name, const std::int64_t &address)
Creates a new float_64_reg_node with the given name .
Definition: float_64_reg_node.hpp:74
static Float64RegNodePtr Create(const String &name, const GevServer::Namespace &nameSpace)
Creates a new float_64_reg_node with the given name , nameSpace and an automatically assigned addres...
Definition: float_64_reg_node.hpp:52
static Float64RegNodePtr Create(const String &name)
Creates a new float_64_reg_node with the given name and and automatically assigned address.
Definition: float_64_reg_node.hpp:93
Floating point value register.
Definition: float_reg_node.hpp:24
static GevServer::Namespace ParseNamespace(const String &name)
Gets the Namespace from the given name .
Definition: decl_node.hpp:585
static String EnsureNodeNameOnly(const String &name)
Throws if the given name has a namespace prefix.
Definition: decl_node.hpp:558
static String ParseName(const String &name)
Gets the name part of the given node name .
Definition: decl_node.hpp:607
Namespace
The possible name spaces a node can be in.
Definition: gevserver.hpp:148
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24