Show how to use format xtd::format class enum classes flags.
#include <xtd/enum_class>
#include <xtd/ustring>
using namespace std;
enum class text_styles {
};
explicit operator auto()
const noexcept {
return xtd::enum_collection<text_styles> {{text_styles::normal,
"normal"}, {text_styles::bold,
"bold"}, {text_styles::italic,
"italic"}, {text_styles::underline,
"underline"}, {text_styles::strikeout,
"strikeout"}};}
};
auto main()->int {
cout << ustring::format("{}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("0b{:b}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("0b{:B}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("{:d}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("{:D}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("{:g}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("{:G}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("0{:o}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("0{:O}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("0x{:x}", text_styles::bold | text_styles::italic) << endl;
cout << ustring::format("0x{:X}", text_styles::bold | text_styles::italic) << endl;
}