• 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
  • CDPOperator
  • 5.0.0

CDPOperator Class

An operator that can do operations on CDPObject properties etc. More...

Header: #include <CDPOperator>
Inherits: CDPOperatorBase
  • List of all members, including inherited members

Public Functions

CDPOperator(const CDPPropertyBase &in)
~CDPOperator() override
void CreateConfigureArgument(XMLElementEx *argumentXml)
ArgumentBase *DefaultInputArgument() const
ArgumentBase *DefaultOutputArgument() const
ArgumentBase *FindArgument(const std::string &name)
void FlushValues(uint64_t timestamp) override
void UpdateTimestamp(uint64_t timestamp) override

Reimplemented Public Functions

virtual bool AddChild(const std::string &name, const std::string &typeName, const std::string &configuration) override
virtual void Configure(XMLPrimitive *pPrim) override
virtual void Create(const char *shortName, CDPBaseObject *pParent) override
virtual void Destroy() override
virtual void FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const override
virtual void ForEachArgument(const std::function<void( ArgumentBase & ) > f) override
virtual const std::string &GetName() override
virtual CDP::StudioAPI::CDPNodeType GetNodeType() const override
virtual std::string GetNodeTypeName() const override
virtual const CDPPropertyBase &GetOutput() override
virtual void Pass() override
virtual bool RemoveChild(const std::string &name) override
  • 17 public functions inherited from CDPOperatorBase
  • 49 public functions inherited from CDPBaseObject
  • 27 public functions inherited from CDP::StudioAPI::CDPNode
  • 22 public functions inherited from CDP::StudioAPI::ICDPNode

Additional Inherited Members

  • 1 static public member inherited from CDPBaseObject
  • 1 protected function inherited from CDP::StudioAPI::CDPNode
  • 2 protected variables inherited from CDPOperatorBase
  • 8 protected variables inherited from CDPBaseObject

Detailed Description

An operator that can do operations on CDPObject properties etc.

Member Function Documentation

CDPOperator::CDPOperator(const CDPPropertyBase &in)

constructor takes a reference to a property to use as input

CDPOperator::~CDPOperator()

destructor

[override virtual] bool CDPOperator::AddChild(const std::string &name, const std::string &typeName, const std::string &configuration)

[override virtual] void CDPOperator::Configure(XMLPrimitive *pPrim)

Reimplemented from CDPBaseObject::Configure().

Configure() function. XML Configuration is supplied in pPrim. Overriding this should only be needed if you must handle xml that can't be done through the property system, typically a dynamic configuration.

[override virtual] void CDPOperator::Create(const char *shortName, CDPBaseObject *pParent)

Reimplemented from CDPBaseObject::Create().

create function creates the operator and ties it parent object. Put your property creations here.

void CDPOperator::CreateConfigureArgument(XMLElementEx *argumentXml)

ArgumentBase *CDPOperator::DefaultInputArgument() const

Default input argument is not part of arguments list and its value is accessible via m_input member in code. Returns default input argument for toplevel operators or nullptr for signal operators

ArgumentBase *CDPOperator::DefaultOutputArgument() const

Default output argument is not part of arguments list and its value is assignable via m_output member in code. Returns default output argument for toplevel operators or nullptr for signal operators

[override virtual] void CDPOperator::Destroy()

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

Reimplemented from CDPNode::FillNodeChildren().

ArgumentBase *CDPOperator::FindArgument(const std::string &name)

void CDPOperator::FlushValues(uint64_t timestamp)

[override virtual] void CDPOperator::ForEachArgument(const std::function<void( ArgumentBase & ) > f)

Reimplemented from CDPOperatorBase::ForEachArgument().

[override virtual] const std::string &CDPOperator::GetName()

Reimplemented from CDPOperatorBase::GetName().

[override virtual] CDP::StudioAPI::CDPNodeType CDPOperator::GetNodeType() const

Reimplemented from ICDPNode::GetNodeType().

Returns CDP::StudioAPI::eCDP_OPERATOR_BASE_NODE.

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

Reimplemented from ICDPNode::GetNodeTypeName().

Returns "CDPOperator<T>, where T designates the operators value type".

[override virtual] const CDPPropertyBase &CDPOperator::GetOutput()

Reimplemented from CDPOperatorBase::GetOutput().

[override virtual] void CDPOperator::Pass()

Reimplemented from CDPOperatorBase::Pass().

Provide No Operation implementation for disabled operator behavior

Default implementaion passes input directly to output.

[override virtual] bool CDPOperator::RemoveChild(const std::string &name)

void CDPOperator::UpdateTimestamp(uint64_t timestamp)

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