Type:IValue`1: Difference between revisions

From Resonite Wiki
Added link. Added a note about IVariables.
overhaul
Line 1: Line 1:
{{Stub}}
The '''IValue<nowiki><T></nowiki>''' type is an [[Interface Type]] that designates the type it is applied to as something that contains a [[Value Type]].


An IValue<nowiki><T></nowiki> Is a [[Reference Type|reference value type]]. This is used for writing to a value like a variable or components values.
This allows for the thing implenting the type to be [[ProtoFlux:Source|sourced]] in ProtoFlux, which in turn allows for the thing to be written to via a [[ProtoFlux:Write|Write]] node. This does <em>not</em> allow the object to be [[Drive|driven]], which requires it to implement [[Type:IField|IField]].
 
== Components Implementing IValue ==
The following components implement the IValue type. This allows the component itself to be sourced and written to, which usually is not possible.
 
* [[Component:AuthorityTimeBase]]
* [[Component:ValueMultiplexer]]
 
== See Also ==
* [[Type:IField`1]]


[[Type:IVariable`2|IVariable]] typically uses this type.
[[Category:Type]]
[[Category:Type]]

Revision as of 20:03, 13 August 2024

The IValue<T> type is an Interface Type that designates the type it is applied to as something that contains a Value Type.

This allows for the thing implenting the type to be sourced in ProtoFlux, which in turn allows for the thing to be written to via a Write node. This does not allow the object to be driven, which requires it to implement IField.

Components Implementing IValue

The following components implement the IValue type. This allows the component itself to be sourced and written to, which usually is not possible.

See Also