add boost::variant compatible accessors