A struct with named or unnamed elements in TFF's internal language.

Inherits From: ComputationBuildingBlock, TypedObject, Struct

The concise notation for structs is <name_1=value_1, ...., name_n=value_n> for structs with named elements, <value_1, ..., value_n> for structs with unnamed elements, or a mixture of these for structs with some named and some unnamed elements, where name_k are the names, and value_k are the value expressions.

For example, a lambda expression that applies fn to elements of 2-structs pointwise could be represented as (arg -> <fn(arg[0]),fn(arg[1])>).

elements The elements of the struct, supplied as a list of (name, value) pairs, where 'name' can be None in case the corresponding element is not named and only accessible via an index (see also structure.Struct).
container_type An optional Python container type to associate with the struct.

TypeError if arguments are of the wrong types.

proto Returns a serialized form of this object as a pb.Computation instance.
type_signature Returns the TFF type of this object (an instance of tff.Type).



View source

Returns an iterator yielding immediate child building blocks.


View source

Returns the compact string representation of this building block.


View source

Returns the formatted string representation of this building block.


View source

Returns an instance of a derived class based on 'computation_proto'.

computation_proto An instance of pb.Computation.

An instance of a class that implements 'ComputationBuildingBlock' and that contains the deserialized logic from in 'computation_proto'.

NotImplementedError if computation_proto contains a kind of computation for which deserialization has not been implemented yet.
ValueError if deserialization failed due to the argument being invalid.


View source

Constructs a new Struct with all named elements.


View source

Returns the structural string representation of this building block.


View source

Constructs a new Struct with all unnamed elements.


View source

Return self==value.


View source


View source


View source


View source

Return self!=value.