• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • Maritime HMIs
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - CDP Core
  • Argument
  • 5.0.0

Argument Class

The Argument is a simple routable value More...

Header: #include <Argument>
Inherits: ArgumentBase
  • List of all members, including inherited members

Public Functions

Argument()
~Argument() override
operator bool() const override
operator char() const override
operator double() const override
operator float() const override
operator int() const override
operator int64_t() const override
operator short() const override
operator std::string() const override
operator uint64_t() const override
operator unsigned char() const override
operator unsigned int() const override
operator unsigned short() const override
Argument<T> &operator=(const Argument &)

Reimplemented Public Functions

virtual void Configure(XMLPrimitive *pObjectElement) override
virtual void Create(const std::string &name, const std::string &model, CDPNode *parent) override
virtual void FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const override
virtual bool GetInput() const override
virtual const std::string GetNodeName() const override
virtual std::string GetNodeTypeName() const override
virtual CDP::StudioAPI::CDPValueType GetNodeValueType() const override
virtual const std::string &GetRouting() const override
virtual const std::string &GetUnit() const override
virtual CDP::StudioAPI::CDPVariantValue GetVariantValue() const override
virtual void Read(std::istream &is) override
virtual size_t Read(const std::string_view &sv) override
virtual void Remove() override
virtual void SetValue(const std::string &value) override
virtual void SetVariantValue(const CDP::StudioAPI::CDPVariantValue &value) override
virtual CDPPropertyBase &ValueProperty() const override
virtual void Write(std::ostream &os) const override
virtual Argument<T> &operator=(const ArgumentBase &) override
virtual Argument<T> &operator=(const double) override
virtual Argument<T> &operator=(const float) override
virtual Argument<T> &operator=(const uint64_t) override
virtual Argument<T> &operator=(const int64_t) override
virtual Argument<T> &operator=(const unsigned int) override
virtual Argument<T> &operator=(const int) override
virtual Argument<T> &operator=(const unsigned short) override
virtual Argument<T> &operator=(const short) override
virtual Argument<T> &operator=(const unsigned char) override
virtual Argument<T> &operator=(const char) override
virtual Argument<T> &operator=(const bool) override
virtual Argument<T> &operator=(const std::string &) override
virtual Argument<T> &operator=(const char *) override
  • 25 public functions inherited from ArgumentBase
  • 27 public functions inherited from CDP::StudioAPI::CDPNode
  • 22 public functions inherited from CDP::StudioAPI::ICDPNode

Additional Inherited Members

  • 1 protected function inherited from CDP::StudioAPI::CDPNode

Detailed Description

The Argument is a simple routable value

Properties

Property NameDescription
NameThe name of the Argument.
TypeThe type of the Argument.
ValueThe value of the Argument.
RoutingThe routing of value for the Argument when using routed value.
ModelThe model name of the Argument.

Argument values can be routed from another signal, parameter or property.

Note: The length of Argument<string> is not limited but only values of 925 characters or less are guaranteed to pass through the routing system to remote applications.

Note: The length of Argument<string> is not limited when sending strings via Messages. Binary Messages use RLE by default for Argument<string>, but it is possible to use Internal BinaryEncodedLength property to set fixed length without the RLE header for binary messages.

Member Function Documentation

Argument::Argument()

Constructs a Argument.

Argument::~Argument()

Destroys the instance of Argument.

[override virtual] void Argument::Configure(XMLPrimitive *pObjectElement)

Reimplemented from ArgumentBase::Configure().

Updates the Argument's properties with values from XML. Connects Value to Routing when initialized.

[override virtual] void Argument::Create(const std::string &name, const std::string &model, CDPNode *parent)

[override virtual] void Argument::FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const

Reimplemented from CDPNode::FillNodeChildren().

[override virtual] bool Argument::GetInput() const

[override virtual] const std::string Argument::GetNodeName() const

Reimplemented from ICDPNode::GetNodeName().

[override virtual] std::string Argument::GetNodeTypeName() const

Reimplemented from ICDPNode::GetNodeTypeName().

[override virtual] CDP::StudioAPI::CDPValueType Argument::GetNodeValueType() const

Reimplemented from ICDPNode::GetNodeValueType().

[override virtual] const std::string &Argument::GetRouting() const

Reimplemented from ArgumentBase::GetRouting().

Returns the routing string of this argument. May be empty.

[override virtual] const std::string &Argument::GetUnit() const

Reimplemented from ArgumentBase::GetUnit().

Returns the configured value Unit of the argument.

[override virtual] CDP::StudioAPI::CDPVariantValue Argument::GetVariantValue() const

Reimplemented from ICDPNode::GetVariantValue().

Returns the value of this argument as a CDPVariantValue.

See also SetVariantValue().

[override virtual] void Argument::Read(std::istream &is)

[override virtual] size_t Argument::Read(const std::string_view &sv)

[override virtual] void Argument::Remove()

Reimplemented from ArgumentBase::Remove().

Called by the framework before Argument is removed during runtime to handle owned property Destroy calls.

[override virtual] void Argument::SetValue(const std::string &value)

[override virtual] void Argument::SetVariantValue(const CDP::StudioAPI::CDPVariantValue &value)

Reimplemented from CDPNode::SetVariantValue().

Sets the value of this signal from a CDPVariantValue.

See also GetVariantValue().

[override virtual] CDPPropertyBase &Argument::ValueProperty() const

[override virtual] void Argument::Write(std::ostream &os) const

Argument::operator bool() const

Argument::operator char() const

Argument::operator double() const

Argument::operator float() const

Argument::operator int() const

Argument::operator int64_t() const

Argument::operator short() const

Argument::operator std::string() const

Argument::operator uint64_t() const

Argument::operator unsigned char() const

Argument::operator unsigned int() const

Argument::operator unsigned short() const

Argument<T> &Argument::operator=(const Argument &)

Copy-assignment operator.

[override virtual] Argument<T> &Argument::operator=(const ArgumentBase &)

Copy-assignment operator.

[override virtual] Argument<T> &Argument::operator=(const double)

[override virtual] Argument<T> &Argument::operator=(const float)

[override virtual] Argument<T> &Argument::operator=(const uint64_t)

[override virtual] Argument<T> &Argument::operator=(const int64_t)

[override virtual] Argument<T> &Argument::operator=(const unsigned int)

[override virtual] Argument<T> &Argument::operator=(const int)

[override virtual] Argument<T> &Argument::operator=(const unsigned short)

[override virtual] Argument<T> &Argument::operator=(const short)

[override virtual] Argument<T> &Argument::operator=(const unsigned char)

[override virtual] Argument<T> &Argument::operator=(const char)

[override virtual] Argument<T> &Argument::operator=(const bool)

[override virtual] Argument<T> &Argument::operator=(const std::string &)

[override virtual] Argument<T> &Argument::operator=(const char *)

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2025 CDP Technologies. Privacy and cookie policy.

Return to top