among 0.2.0

A general purpose sum type with three cases: the enum `Among` with variants `Left`, `Middle` and `Right`. A three-way counterpart to `Either`, with `no_std`, `serde`, `futures` and `tokio` integrations.
Documentation

A general purpose sum type with three cases: the enum Among with variants Left, Middle and Right. A three-way counterpart to Either, with no_std, serde, futures and tokio integrations.

Introduction

The enum Among with variants Left, Middle and Right and trait implementations.

Installation

  • Use with default feature

    [dependencies]
    among = "0.2"
    
  • Use without std and alloc

    [dependencies]
    among = { version = "0.2", default-features = false }
    
  • Enable futures feature to enable trait implementation including futures::io::AsyncRead, futures::io::AsyncBufRead, futures::io::AsyncWrite, and futures::io::AsyncSeek.

    [dependencies]
    among = { version = "0.2", features = ["futures", "std"] }
    
  • Enable tokio feature to enable trait implementation including tokio::io::AsyncRead, tokio::io::AsyncBufRead, tokio::io::AsyncWrite and tokio::io::AsyncSeek.

    [dependencies]
    among = { version = "0.2", features = ["tokio", "std"] }
    

Pedigree

This code is inspired and modified based on rayon-rs/either.

License

among is under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2026 Al Liu.