vibe.d beta banner
get vibe.d
0.10.0

Asynchronous I/O that doesn’t get in your way, written in D

Module taggedalgebraic.taggedalgebraic

Algebraic data type implementation based on a tagged union.

Functions

NameDescription
algebraic(tagged_union) Converts a given TaggedUnion to a TaggedAlgebraic.
apply(ta) Calls a the given callback with the static type of the contained value.
disableIndex() User-defined attibute to disable opIndex forwarding for a particular tagged union member.
get(ta) Gets the value stored in an algebraic type based on its data type.
get(ta) Gets the value stored in an algebraic type based on its kind.
hasType(ta) Tests if the algebraic type stores a value of a certain data type.

Structs

NameDescription
TaggedAlgebraic Implements a generic algebraic type using an enum to identify the stored type.

Enums

NameDescription
safeOnly User-defined attribute to enable only safe calls on the given member(s).

Aliases

NameTypeDescription
TypeEnum UnionFieldEnum!U
Authors

Sönke Ludwig

Copyright

Copyright 2015-2019, Sönke Ludwig.

License

www.boost.org/LICENSE_1_0.txt, Boost License 1.0.