minivariant 1.0.0

A minimal D library to expose a minimalistic tagged union


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Minivariant: Simple, focused variant library

Goal

Minivariant provides a simple way to work with a tagged union. It aims to provide a replacement for std.variant.Algebraic, which is built on top of std.variant.Variant.

The issue that spawned this effort was the inability of Algebraic to work with basic type conversion, e.g. it triggers a static assertion failure to assign an immutable int to an Algebraic containing an int.

Overview

The main type is minivariant.variant.Variant. It takes a tuple of accepted parameters:

auto my_variant = Variant!(uint, char, bool, string)("Hello world");

It provides a pedestrian usage, via isType and peek, and a more structured approach via visit.

Authors:
  • Mathias 'Geod24' Lang
Dependencies:
none
Versions:
1.0.0 2018-May-03
~v1.x.x 2018-May-03
Show all 2 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 1 downloads total

Score:
0.0
Short URL:
minivariant.dub.pm