18 Annotation(
Env& t_env, std::string t_name) : impl::Annotation(t_env, std::move(t_name)) {}
20 template<
class ...ArgsT>
Annotation(
Env& t_env, std::string t_name, ArgsT&& ...t_args)
21 : impl::Annotation(t_env, std::move(t_name)) {
23 set_default_value<ValueT>(std::forward<ArgsT>(t_args)...);
27 template<
class ...ArgsT>
28 static Annotation<ValueT> make_with_default_value(
Env& t_env, std::string t_name, ArgsT&& ...t_args) {
30 result.set_default_value<ValueT>(std::forward<ArgsT>(t_args)...);
34 [[nodiscard]]
const ValueT& default_value()
const {
return impl::Annotation::cast_default_value<ValueT>(); }