.. index:: pair: class; InputEdge
.. _doxid-class_input_edge:

template class InputEdge
========================

.. toctree::
	:hidden:

Overview
~~~~~~~~

Helper template class used to implement Python input edge decorators. :ref:`More...<details-class_input_edge>`


.. ref-code-block:: cpp
	:class: doxyrest-overview-code-block

	#include <input_edge.h>
	
	template <class T_IN, class T_OUT, INPUT_C<T_IN> INPUT_CLASS>
	class InputEdge {
	public:
		// construction
	
		:target:`InputEdge<doxid-class_input_edge_1a4faa3b52c5d1af5cdd852abfae67b1a8>`();
	
		:ref:`InputEdge<doxid-class_input_edge_1a0b6772812b765a14257d138cd63908fb>`(
			std::string keyword,
			std::string id,
			std::string port,
			:ref:`InputNodePolicies::MsgPublishPolicy<doxid-namespace_input_node_policies_1ae65f9d4505207aa68b30fb0419c73035>` msgPublishPolicy,
			:ref:`InputNodePolicies::MsgCachePolicy<doxid-namespace_input_node_policies_1a6e6c639f025a1af2a05b3f20e6b207a5>` msgCachePolicy
		);

		// methods
	
		boost::python::object :ref:`pySetup<doxid-class_input_edge_1af9736eeb628f4e0e07f5b651281ecc34>`(const boost::python::object& obj);
	};

	// direct descendants

	class :ref:`InputClockEdge<doxid-class_input_clock_edge>`;
	class :ref:`InputDummyEdge<doxid-class_input_dummy_edge>`;
	class :ref:`InputEngineEdge<doxid-class_input_engine_edge>`;
	class :ref:`InputIterationEdge<doxid-class_input_iteration_edge>`;

	template <class MSG_TYPE>
	class :ref:`InputMQTTEdge<doxid-class_input_m_q_t_t_edge>`;

	template <class MSG_TYPE>
	class :ref:`InputROSEdge<doxid-class_input_r_o_s_edge>`;

	class :ref:`InputSpinnakerEdge<doxid-class_input_spinnaker_edge>`;
.. _details-class_input_edge:

Detailed Documentation
~~~~~~~~~~~~~~~~~~~~~~

Helper template class used to implement Python input edge decorators.

Construction
------------

.. index:: pair: function; InputEdge
.. _doxid-class_input_edge_1a0b6772812b765a14257d138cd63908fb:

.. ref-code-block:: cpp
	:class: doxyrest-title-code-block

	InputEdge(
		std::string keyword,
		std::string id,
		std::string port,
		:ref:`InputNodePolicies::MsgPublishPolicy<doxid-namespace_input_node_policies_1ae65f9d4505207aa68b30fb0419c73035>` msgPublishPolicy,
		:ref:`InputNodePolicies::MsgCachePolicy<doxid-namespace_input_node_policies_1a6e6c639f025a1af2a05b3f20e6b207a5>` msgCachePolicy
	)

Constructor.

Methods
-------

.. index:: pair: function; pySetup
.. _doxid-class_input_edge_1af9736eeb628f4e0e07f5b651281ecc34:

.. ref-code-block:: cpp
	:class: doxyrest-title-code-block

	boost::python::object pySetup(const boost::python::object& obj)

**call** function in associated Python decorator

It creates and registers an input node. Afterwards add a port to it and registers an edge to 'obj'. 'obj' is expected to be a Python object wrapping a Functional Node