Lines Matching refs:Char

425 template <typename Char>
431 template <typename Char>
434 template <typename Impl, typename Char>
466 template <typename Char>
469 const Char *data_;
474 BasicStringRef(const Char *s, std::size_t size) : data_(s), size_(size) {}
479 the size with ``std::char_traits<Char>::length``.
482 BasicStringRef(const Char *s)
483 : data_(s), size_(std::char_traits<Char>::length(s)) {}
492 const std::basic_string<Char, std::char_traits<Char>, Allocator> &s)
500 std::basic_string<Char> to_string() const {
501 return std::basic_string<Char>(data_, size_);
505 const Char *data() const { return data_; }
513 int result = std::char_traits<Char>::compare(data_, other.data_, size);
567 template <typename Char>
570 const Char *data_;
574 BasicCStringRef(const Char *s) : data_(s) {}
583 const std::basic_string<Char, std::char_traits<Char>, Allocator> &s)
587 const Char *c_str() const { return data_; }
803 template <typename Char>
804 class FixedBuffer : public fmt::Buffer<Char> {
806 FixedBuffer(Char *array, std::size_t size) : fmt::Buffer<Char>(array, size) {}
812 template <typename Char>
816 typedef stdext::checked_array_iterator<Char*> CharPtr;
818 typedef Char *CharPtr;
820 static Char cast(int value) { return static_cast<Char>(value); }
823 template <typename Char>
959 template <typename Char>
960 void operator()(Char *) {}
974 template <typename Char>
975 void operator()(Char *&buffer) {
987 template <typename UInt, typename Char, typename ThousandsSep>
988 inline void format_decimal(Char *buffer, UInt value, unsigned num_digits,
1012 template <typename UInt, typename Char>
1013 inline void format_decimal(Char *buffer, UInt value, unsigned num_digits) {
1067 template <typename Char>
1069 const Char *value;
1112 template <typename Char>
1114 template <typename Char, typename T>
1122 template <typename T, typename Char>
1237 template <typename Formatter, typename Char, typename T>
1238 void format_arg(Formatter &, const Char *, const T &) {
1249 typedef typename Formatter::Char Char;
1267 MakeValue(typename WCharHelper<wchar_t, Char>::Unsupported);
1269 MakeValue(typename WCharHelper<wchar_t *, Char>::Unsupported);
1270 MakeValue(typename WCharHelper<const wchar_t *, Char>::Unsupported);
1271 MakeValue(typename WCharHelper<const std::wstring &, Char>::Unsupported);
1272 MakeValue(typename WCharHelper<WStringRef, Char>::Unsupported);
1289 *static_cast<const Char**>(format_str_ptr),
1342 MakeValue(typename WCharHelper<wchar_t, Char>::Supported value) {
1363 MakeValue(typename WCharHelper<Type, Char>::Supported value) { \
1422 template <typename Char>
1424 BasicStringRef<Char> name;
1427 NamedArg(BasicStringRef<Char> argname, const T &value)
1428 : Arg(MakeArg< BasicFormatter<Char> >(value)), name(argname) {}
1431 template <typename Char, typename T>
1432 struct NamedArgWithType : NamedArg<Char> {
1433 NamedArgWithType(BasicStringRef<Char> argname, const T &value)
1434 : NamedArg<Char>(argname, value) {}
1444 template <typename Char>
1468 template <typename Char>
1753 template <typename T, typename SpecT = TypeSpec<0>, typename Char = char>
1766 template <typename Char>
1769 const Char *str_;
1773 StrFormatSpec(const Char *str, unsigned width, FillChar fill)
1775 internal::CharTraits<Char>::convert(FillChar());
1778 const Char *str() const { return str_; }
1817 template <char TYPE_CODE, typename Char>
1818 IntFormatSpec<int, AlignTypeSpec<TYPE_CODE>, Char> pad(
1819 int value, unsigned width, Char fill = ' ');
1847 /* can be replaced with one overload making the template argument Char */ \
1849 template <char TYPE_CODE, typename Char> \
1850 inline IntFormatSpec<TYPE, AlignTypeSpec<TYPE_CODE>, Char> pad( \
1851 IntFormatSpec<TYPE, TypeSpec<TYPE_CODE>, Char> f, \
1852 unsigned width, Char fill) { \
1853 return IntFormatSpec<TYPE, AlignTypeSpec<TYPE_CODE>, Char>( \
1863 template <typename Char> \
1864 inline IntFormatSpec<TYPE, AlignTypeSpec<0>, Char> pad( \
1865 TYPE value, unsigned width, Char fill) { \
1866 return IntFormatSpec<TYPE, AlignTypeSpec<0>, Char>( \
1889 template <typename Char>
1890 inline StrFormatSpec<Char> pad(
1891 const Char *str, unsigned width, Char fill = ' ') {
1892 return StrFormatSpec<Char>(str, width, fill);
1902 template <typename Char>
1906 std::pair<fmt::BasicStringRef<Char>, internal::Arg> > MapType;
1914 const internal::Arg *find(const fmt::BasicStringRef<Char> &name) const {
1925 template <typename Impl, typename Char>
1928 BasicWriter<Char> &writer_;
1940 BasicWriter<Char> &writer() { return writer_; }
1955 ArgFormatterBase(BasicWriter<Char> &w, FormatSpec &s)
1980 typedef typename BasicWriter<Char>::CharPtr CharPtr;
1981 Char fill = internal::CharTraits<Char>::cast(spec_.fill());
1999 *out = internal::CharTraits<Char>::cast(value);
2014 void visit_wstring(Arg::StringValue<Char> value) {
2064 template <typename Char>
2065 void write(BasicWriter<Char> &w, const Char *start, const Char *end) {
2067 w << BasicStringRef<Char>(start, internal::to_unsigned(end - start));
2089 template <typename Impl, typename Char>
2090 class BasicArgFormatter : public internal::ArgFormatterBase<Impl, Char> {
2092 BasicFormatter<Char, Impl> &formatter_;
2093 const Char *format_;
2104 BasicArgFormatter(BasicFormatter<Char, Impl> &formatter,
2105 FormatSpec &spec, const Char *fmt)
2106 : internal::ArgFormatterBase<Impl, Char>(formatter.writer(), spec),
2116 template <typename Char>
2117 class ArgFormatter : public BasicArgFormatter<ArgFormatter<Char>, Char> {
2120 ArgFormatter(BasicFormatter<Char> &formatter,
2121 FormatSpec &spec, const Char *fmt)
2122 : BasicArgFormatter<ArgFormatter<Char>, Char>(formatter, spec, fmt) {}
2130 typedef CharType Char;
2133 BasicWriter<Char> &writer_;
2134 internal::ArgMap<Char> map_;
2142 internal::Arg get_arg(BasicStringRef<Char> arg_name, const char *&error);
2145 internal::Arg parse_arg_index(const Char *&s);
2148 internal::Arg parse_arg_name(const Char *&s);
2158 BasicFormatter(const ArgList &args, BasicWriter<Char> &w)
2162 BasicWriter<Char> &writer() { return writer_; }
2165 void format(BasicCStringRef<Char> format_str);
2168 const Char *format(const Char *&format_str, const internal::Arg &arg);
2270 ArgArray::template make<fmt::BasicFormatter<Char> >(args)...}; \
2280 ArgArray::template make<fmt::BasicFormatter<Char> >(args)...}; \
2287 fmt::internal::MakeValue< fmt::BasicFormatter<Char> >(v##n)
2364 typedef char Char; // For FMT_VARIADIC_CTOR.
2434 template <typename Char>
2438 Buffer<Char> &buffer_;
2442 typedef typename internal::CharTraits<Char>::CharPtr CharPtr;
2446 static Char *get(CharPtr p) { return p.base(); }
2448 static Char *get(Char *p) { return p; }
2466 Char *write_unsigned_decimal(UInt value, unsigned prefix_size = 0) {
2468 Char *ptr = get(grow_buffer(prefix_size + num_digits));
2519 void operator<<(typename internal::WCharHelper<wchar_t, Char>::Unsupported);
2521 typename internal::WCharHelper<const wchar_t *, Char>::Unsupported);
2525 void append_float_length(Char *&format_ptr, long double) {
2530 void append_float_length(Char *&, T) {}
2542 explicit BasicWriter(Buffer<Char> &b) : buffer_(b) {}
2561 const Char *data() const FMT_NOEXCEPT { return &buffer_[0]; }
2567 const Char *c_str() const {
2579 std::basic_string<Char> str() const {
2580 return std::basic_string<Char>(&buffer_[0], buffer_.size());
2608 void write(BasicCStringRef<Char> format, ArgList args) {
2609 BasicFormatter<Char>(args, *this).format(format);
2611 FMT_VARIADIC_VOID(write, BasicCStringRef<Char>)
2666 typename internal::WCharHelper<wchar_t, Char>::Supported value) {
2676 BasicWriter &operator<<(fmt::BasicStringRef<Char> value) {
2677 const Char *str = value.data();
2683 typename internal::WCharHelper<StringRef, Char>::Supported value) {
2691 internal::CharTraits<Char>::convert(FillChar());
2699 write_str(s, std::char_traits<Char>::length(s), spec);
2705 Buffer<Char> &buffer() FMT_NOEXCEPT { return buffer_; }
2708 template <typename Char>
2710 typename BasicWriter<Char>::CharPtr BasicWriter<Char>::write_str(
2715 Char fill = internal::CharTraits<Char>::cast(spec.fill());
2731 template <typename Char>
2733 void BasicWriter<Char>::write_str(
2735 // Check if StrChar is convertible to Char.
2736 internal::CharTraits<Char>::convert(StrChar());
2752 template <typename Char>
2753 typename BasicWriter<Char>::CharPtr
2754 BasicWriter<Char>::fill_padding(
2759 Char fill_char = internal::CharTraits<Char>::cast(fill);
2768 template <typename Char>
2770 typename BasicWriter<Char>::CharPtr
2771 BasicWriter<Char>::prepare_int_buffer(
2776 Char fill = internal::CharTraits<Char>::cast(spec.fill());
2832 template <typename Char>
2834 void BasicWriter<Char>::write_int(T value, Spec spec) {
2864 Char *p = get(prepare_int_buffer(
2884 Char *p = get(prepare_int_buffer(num_digits, spec, prefix, prefix_size));
2887 *p-- = static_cast<Char>('0' + (n & 1));
2899 Char *p = get(prepare_int_buffer(num_digits, spec, prefix, prefix_size));
2902 *p-- = static_cast<Char>('0' + (n & 7));
2925 template <typename Char>
2927 void BasicWriter<Char>::write_double(T value, const FormatSpec &spec) {
3002 Char format[MAX_FORMAT_SIZE];
3003 Char *format_ptr = format;
3026 Char fill = internal::CharTraits<Char>::cast(spec.fill());
3028 Char *start = FMT_NULL;
3041 int result = internal::CharTraits<Char>::format_float(
3067 std::memmove(get(p) + (width - n) / 2, get(p), n * sizeof(Char));
3114 template <typename Char, typename Allocator = std::allocator<Char> >
3115 class BasicMemoryWriter : public BasicWriter<Char> {
3117 internal::MemoryBuffer<Char, internal::INLINE_BUFFER_SIZE, Allocator> buffer_;
3121 : BasicWriter<Char>(buffer_), buffer_(alloc) {}
3131 : BasicWriter<Char>(buffer_), buffer_(std::move(other.buffer_)) {
3169 template <typename Char>
3170 class BasicArrayWriter : public BasicWriter<Char> {
3172 internal::FixedBuffer<Char> buffer_;
3181 BasicArrayWriter(Char *array, std::size_t size)
3182 : BasicWriter<Char>(buffer_), buffer_(array, size) {}
3191 explicit BasicArrayWriter(Char (&array)[SIZE])
3192 : BasicWriter<Char>(buffer_), buffer_(array, SIZE) {}
3432 template <typename Char>
3433 void arg(StringRef, const internal::NamedArg<Char>&) FMT_DELETED_OR_UNDEFINED;
3434 template <typename Char>
3435 void arg(WStringRef, const internal::NamedArg<Char>&) FMT_DELETED_OR_UNDEFINED;
3465 # define FMT_VARIADIC_(Char, ReturnType, func, call, ...) \
3471 ArgArray::template make<fmt::BasicFormatter<Char> >(args)...}; \
3478 # define FMT_WRAP(Char, ReturnType, func, call, n, ...) \
3483 FMT_GEN(n, FMT_ASSIGN_##Char); \
3488 # define FMT_VARIADIC_(Char, ReturnType, func, call, ...) \
3492 FMT_WRAP(Char, ReturnType, func, call, 1, __VA_ARGS__) \
3493 FMT_WRAP(Char, ReturnType, func, call, 2, __VA_ARGS__) \
3494 FMT_WRAP(Char, ReturnType, func, call, 3, __VA_ARGS__) \
3495 FMT_WRAP(Char, ReturnType, func, call, 4, __VA_ARGS__) \
3496 FMT_WRAP(Char, ReturnType, func, call, 5, __VA_ARGS__) \
3497 FMT_WRAP(Char, ReturnType, func, call, 6, __VA_ARGS__) \
3498 FMT_WRAP(Char, ReturnType, func, call, 7, __VA_ARGS__) \
3499 FMT_WRAP(Char, ReturnType, func, call, 8, __VA_ARGS__) \
3500 FMT_WRAP(Char, ReturnType, func, call, 9, __VA_ARGS__) \
3501 FMT_WRAP(Char, ReturnType, func, call, 10, __VA_ARGS__) \
3502 FMT_WRAP(Char, ReturnType, func, call, 11, __VA_ARGS__) \
3503 FMT_WRAP(Char, ReturnType, func, call, 12, __VA_ARGS__) \
3504 FMT_WRAP(Char, ReturnType, func, call, 13, __VA_ARGS__) \
3505 FMT_WRAP(Char, ReturnType, func, call, 14, __VA_ARGS__) \
3506 FMT_WRAP(Char, ReturnType, func, call, 15, __VA_ARGS__)
3572 template <typename Char>
3573 inline bool is_name_start(Char c) {
3579 template <typename Char>
3580 unsigned parse_nonnegative_int(const Char *&s) {
3607 template <typename Char>
3608 void check_sign(const Char *&s, const Arg &arg) {
3619 template <typename Char, typename AF>
3620 inline internal::Arg BasicFormatter<Char, AF>::get_arg(
3621 BasicStringRef<Char> arg_name, const char *&error) {
3632 template <typename Char, typename AF>
3633 inline internal::Arg BasicFormatter<Char, AF>::parse_arg_index(const Char *&s) {
3644 template <typename Char, typename AF>
3645 inline internal::Arg BasicFormatter<Char, AF>::parse_arg_name(const Char *&s) {
3647 const Char *start = s;
3648 Char c;
3653 internal::Arg arg = get_arg(BasicStringRef<Char>(start, s - start), error);
3659 template <typename Char, typename ArgFormatter>
3660 const Char *BasicFormatter<Char, ArgFormatter>::format(
3661 const Char *&format_str, const internal::Arg &arg) {
3663 const Char *s = format_str;
3672 if (Char c = *s) {
3673 const Char *p = s + 1;
3829 template <typename Char, typename AF>
3830 void BasicFormatter<Char, AF>::format(BasicCStringRef<Char> format_str) {
3831 const Char *s = format_str.c_str();
3832 const Char *start = s;
3834 Char c = *s++;
3856 template <typename Char>
3858 const Char *str;
3867 template <typename Char>
3869 const Char *str;
3872 NamedArgWithType<Char, T> operator=(T &&value) const {