• 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
    • CDP Linux
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - CDP Core
  • Argument
  • 5.1.0

Argument Class

The Argument is a simple routable value More...

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

Public Functions

Argument()
~Argument() override
void Configure(XMLPrimitive *pObjectElement) override
void Create(const std::string &name, const std::string &model, CDPNode *parent) override
void FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const override
bool GetInput() const override
const std::string GetNodeName() const override
std::string GetNodeTypeName() const override
const std::string &GetRouting() const override
const std::string &GetUnit() const override
void Read(std::istream &is) override
size_t Read(const std::string_view &sv) override
void Remove() override
void SetValue(const std::string &value) override
CDPPropertyBase &ValueProperty() const override
void Write(std::ostream &os) const 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 &)
Argument<T> &operator=(const ArgumentBase &) override
Argument<T> &operator=(const double) override
Argument<T> &operator=(const float) override
Argument<T> &operator=(const uint64_t) override
Argument<T> &operator=(const int64_t) override
Argument<T> &operator=(const unsigned int) override
Argument<T> &operator=(const int) override
Argument<T> &operator=(const unsigned short) override
Argument<T> &operator=(const short) override
Argument<T> &operator=(const unsigned char) override
Argument<T> &operator=(const char) override
Argument<T> &operator=(const bool) override
Argument<T> &operator=(const std::string &) override
Argument<T> &operator=(const char *) override
  • 9 public functions inherited from ValueNode
  • 8 public functions inherited from CDP::StudioAPI::AbstractValueListener

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.

void Argument::Configure(XMLPrimitive *pObjectElement)

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

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

void Argument::FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const

bool Argument::GetInput() const

const std::string Argument::GetNodeName() const

std::string Argument::GetNodeTypeName() const

const std::string &Argument::GetRouting() const

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

const std::string &Argument::GetUnit() const

Returns the configured value Unit of the argument.

void Argument::Read(std::istream &is)

size_t Argument::Read(const std::string_view &sv)

void Argument::Remove()

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

void Argument::SetValue(const std::string &value)

CDPPropertyBase &Argument::ValueProperty() const

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.

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

Copy-assignment operator.

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

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

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

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

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

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

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

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

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

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

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

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

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 2026 CDP Technologies. Privacy and cookie policy.

Return to top