attr 0.1.0

`attr` is a library to provide external access to a datastructure through a typed path object, using all type information known about the data structure at hand.

Crate attr [] [src]

Structs

Identity

The Identity is the end of a path and provides the point where input equals output and we start returning. It's necessary for recursive path traversal, but generally not to be used in user code.

InsecurePath

A path path describing how to retrieve a value at a point, and then recursive down the rest of the path.

MapPath

A path that describes a mapping operation, which later application of a subpath.

Path

A plain path describing how to retrieve a value at a point, and then recursive down the rest of the path.

Traits

Attr

Direct access to an attribute of a type.

IndexableAttr

Access to a part of the attribute by index

InsecureAttr

Direct, possibly failing access to an attribute of a type.

InsecureIndexableAttr

Access to a part of the attribute by index, where access can fail

InsecureIterableAttr

Insecure variant of iteration over an attribute

IterableAttr

Iteration over an attribute

Traverse

Recursive path traversal

Functions

retrieve

retrieve is the starting point of a path that always returns a value.

retrieve_insecure

retrieve_insecure is the starting point of a path that is not always present. For that reason, it returns a Result indicating the success of the path operation.

Type Definitions

Result

In case of failed traversals, this Result type is returned.