.. index:: pair: namespace; proto_field_ops
.. _doxid-namespaceproto__field__ops:

namespace proto_field_ops
=========================

.. toctree::
	:hidden:

Overview
~~~~~~~~

Implement single field Get/Set operations using field descriptor and reflection interface. :ref:`More...<details-namespaceproto__field__ops>`


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

	
	namespace proto_field_ops {

	// global functions

	bpy::object :ref:`GetScalarField<doxid-namespaceproto__field__ops_1a74680dd8258a713e5e29cc2dd6c4d7c7>`(gpb::Message& m, const gpb::FieldDescriptor* field);

	std::string :ref:`GetScalarFieldAsString<doxid-namespaceproto__field__ops_1aa0fbc9cdff8ddaebeb8d83b70920c45c>`(
		const gpb::Message& m,
		const gpb::FieldDescriptor* field
	);

	bpy::object :ref:`GetRepeatedScalarField<doxid-namespaceproto__field__ops_1acde4b42c055ec10c1dc6193354d2ba48>`(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		int index
	);

	void :ref:`SetScalarField<doxid-namespaceproto__field__ops_1a14736a7758b0ca1943e2cea845317c23>`(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		const bpy::object& value
	);

	void :ref:`SetRepeatedScalarField<doxid-namespaceproto__field__ops_1afa71d1ff5277a549d77d3ab1b22fbac6>`(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		const bpy::object& value,
		int index
	);

	void :ref:`AddRepeatedScalarField<doxid-namespaceproto__field__ops_1a9480372fc0c45dae5414bc2ad2093679>`(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		const bpy::object& value
	);

	template <class MSG, class ... REMAINING_MSGS>
	bpy::object :ref:`GetMessageField<doxid-namespaceproto__field__ops_1a93ea74abce662c907d39ff229b4437d4>`(
		gpb::Message& m,
		const gpb::FieldDescriptor* field
	);

	} // namespace proto_field_ops
.. _details-namespaceproto__field__ops:

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

Implement single field Get/Set operations using field descriptor and reflection interface.

Global Functions
----------------

.. index:: pair: function; GetScalarField
.. _doxid-namespaceproto__field__ops_1a74680dd8258a713e5e29cc2dd6c4d7c7:

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

	bpy::object GetScalarField(gpb::Message& m, const gpb::FieldDescriptor* field)

Get scalar field. Returns a copy of the field value.

.. index:: pair: function; GetScalarFieldAsString
.. _doxid-namespaceproto__field__ops_1aa0fbc9cdff8ddaebeb8d83b70920c45c:

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

	std::string GetScalarFieldAsString(
		const gpb::Message& m,
		const gpb::FieldDescriptor* field
	)

Get scalar field value as a string.

.. index:: pair: function; GetRepeatedScalarField
.. _doxid-namespaceproto__field__ops_1acde4b42c055ec10c1dc6193354d2ba48:

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

	bpy::object GetRepeatedScalarField(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		int index
	)

Get repeated scalar field. Returns a copy of the field value.

.. index:: pair: function; SetScalarField
.. _doxid-namespaceproto__field__ops_1a14736a7758b0ca1943e2cea845317c23:

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

	void SetScalarField(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		const bpy::object& value
	)

Set scalar field.

.. index:: pair: function; SetRepeatedScalarField
.. _doxid-namespaceproto__field__ops_1afa71d1ff5277a549d77d3ab1b22fbac6:

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

	void SetRepeatedScalarField(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		const bpy::object& value,
		int index
	)

Set repeated scalar field.

.. index:: pair: function; AddRepeatedScalarField
.. _doxid-namespaceproto__field__ops_1a9480372fc0c45dae5414bc2ad2093679:

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

	void AddRepeatedScalarField(
		gpb::Message& m,
		const gpb::FieldDescriptor* field,
		const bpy::object& value
	)

Append repeated scalar field.

.. index:: pair: function; GetMessageField
.. _doxid-namespaceproto__field__ops_1a93ea74abce662c907d39ff229b4437d4:

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

	template <class MSG, class ... REMAINING_MSGS>
	bpy::object GetMessageField(
		gpb::Message& m,
		const gpb::FieldDescriptor* field
	)

Get message field. Returns a reference of the field value.