バリアントにデータベースの値を保持しています。あなたの意見では、次の typedef のうちどれが最も理にかなっていますか:
typedef boost::variant<int, bool, std::string> Value;
typedef boost::variant<int, bool, std::string> Values;
typedef boost::variant<int, bool, std::string> Type;
typedef boost::variant<int, bool, std::string> Types;