NVIDIA Holoscan SDK v0.6
Holoscan v0.6

Class Component

Derived Types

class Component

Base class for all components.

This class is the base class for all components including holoscan::Operator, holoscan::Condition, and holoscan::Resource. It is used to define the common interface for all components.

Subclassed by holoscan::Condition, holoscan::NetworkContext, holoscan::Operator, holoscan::Resource, holoscan::Scheduler

Public Functions

Component() = default
template<typename ArgT, typename ...ArgsT, typename = std::enable_if_t<!std::is_base_of_v<Component, std::decay_t<ArgT>> && (std::is_same_v<Arg, std::decay_t<ArgT>> || std::is_same_v<ArgList, std::decay_t<ArgT>>)>>
inline explicit Component(ArgT &&arg, ArgsT&&... args)

Construct a new Component object.

Parameters
virtual ~Component() = default
inline int64_t id() const

Get the identifier of the component.

By default, the identifier is set to -1. It is set to a valid value when the component is initialized.

With the default executor (GXFExecutor), the identifier is set to the GXF component ID.

Returns
inline const std::string &name() const

Get the name of the component.

Returns
inline Fragment *fragment()

Get a pointer to Fragment object.

Returns
inline void add_arg(const Arg &arg)

Add an argument to the component.

Parameters
inline void add_arg(Arg &&arg)

Add an argument to the component.

Parameters
inline void add_arg(const ArgList &arg)

Add a list of arguments to the component.

Parameters
inline void add_arg(ArgList &&arg)

Add a list of arguments to the component.

Parameters
inline std::vector<Arg> &args()

Get the list of arguments.

Returns
inline virtual void initialize()
virtual YAML::Node to_yaml_node() const

Get a YAML representation of the component.

Returns
std::string description() const

Get a description of the component.

Returns

Protected Attributes

int64_t id_ = -1
std::string name_ = ""
Fragment *fragment_ = nullptr
std::vector<Arg> args_

Friends

friend class Executor

© Copyright 2022-2023, NVIDIA. Last updated on Feb 9, 2024.