variant

boost::variantの代わりに使えるC++11/C++14のヘッダーのみのライブラリです。結果かエラーなど、複数の型のうち一つを型安全に保持できます。

Xで共有ライセンス: BSD-3-Clause

概要

Mapbox Variant は、C++11とC++14向けの、boost::variant に代わるヘッダーオンリーのライブラリです。結果かエラーのどちらかを返すAPIレスポンスのように、複数の型のうち一つを型安全に保持できます。ラムダによるパターンマッチ、ビジターに加え、JSONのような木構造用の再帰ラッパーも備え、依存関係はありません。

主な特長

  • 直和型を表す型安全なvariant
  • matchメンバーにラムダを渡し全型の処理を検査
  • apply_visitorとget()で値を処理または取り出し
  • recursive_wrapperでJSONなどの再帰型を表現

こんな人・用途に

Boostに依存せずvariantを使いたいC++11/C++14のプロジェクト向けです。boost::variantとの差し替えを目指しますが、必要な機能だけを実装しています。

アップストリーム
mapbox/variant
GitHubのフォーク
Guo-astro/variant
アップストリームのスター数
385
カテゴリ
開発者ツールとインフラ
言語
C++
ライセンス
BSD-3-Clause
フォーク日
2020-11-01
同期状態
同期済み最終同期 2026-09-29