1 #ifndef fhiclcpp_types_detail_maybe_insert_h 2 #define fhiclcpp_types_detail_maybe_insert_h 12 decltype(std::declval<std::ostream&>() << std::declval<T const&>());
14 template <
typename T,
typename =
void>
19 has_insertion_operator<T, std::void_t<insertion_expression_t<T>>>{
true};
25 if constexpr (has_insertion_operator<T>) {
26 std::ostringstream os;
27 os <<
" with a default value of:\n" 31 return " A default value is present, but it cannot be\n" 32 " printed out since no 'operator<<' overload has\n" 33 " been provided for the above type.";
decltype(std::declval< std::ostream & >()<< std::declval< T const & >()) insertion_expression_t
std::string maybe_insert(T const &t)
constexpr bool has_insertion_operator