astyle previous commits

pull/302/merge
gabime 9 years ago
parent d142f13551
commit bd6fe569b5

File diff suppressed because it is too large Load Diff

@ -14,98 +14,101 @@ For the license information refer to format.h.
// #include "format.h" // #include "format.h"
#include <ostream> #include <ostream>
namespace fmt { namespace fmt
{
namespace internal {
namespace internal
template <class Char> {
class FormatBuf: public std::basic_streambuf<Char>
{ template <class Char>
private: class FormatBuf: public std::basic_streambuf<Char>
typedef typename std::basic_streambuf<Char>::int_type int_type; {
typedef typename std::basic_streambuf<Char>::traits_type traits_type; private:
typedef typename std::basic_streambuf<Char>::int_type int_type;
Buffer<Char> &buffer_; typedef typename std::basic_streambuf<Char>::traits_type traits_type;
Char *start_;
Buffer<Char> &buffer_;
public: Char *start_;
FormatBuf(Buffer<Char> &buffer): buffer_(buffer), start_(&buffer[0])
{ public:
this->setp(start_, start_ + buffer_.capacity()); FormatBuf(Buffer<Char> &buffer): buffer_(buffer), start_(&buffer[0])
} {
this->setp(start_, start_ + buffer_.capacity());
int_type overflow(int_type ch = traits_type::eof()) }
{
if (!traits_type::eq_int_type(ch, traits_type::eof())) { int_type overflow(int_type ch = traits_type::eof())
size_t buf_size = size(); {
buffer_.resize(buf_size); if (!traits_type::eq_int_type(ch, traits_type::eof()))
buffer_.reserve(buf_size * 2); {
size_t buf_size = size();
start_ = &buffer_[0]; buffer_.resize(buf_size);
start_[buf_size] = traits_type::to_char_type(ch); buffer_.reserve(buf_size * 2);
this->setp(start_ + buf_size + 1, start_ + buf_size * 2);
} start_ = &buffer_[0];
return ch; start_[buf_size] = traits_type::to_char_type(ch);
} this->setp(start_ + buf_size + 1, start_ + buf_size * 2);
}
size_t size() const return ch;
{ }
return to_unsigned(this->pptr() - start_);
} size_t size() const
}; {
return to_unsigned(this->pptr() - start_);
Yes &convert(std::ostream &); }
};
struct DummyStream: std::ostream
{ Yes &convert(std::ostream &);
DummyStream(); // Suppress a bogus warning in MSVC.
// Hide all operator<< overloads from std::ostream. struct DummyStream: std::ostream
void operator<<(Null<>); {
}; DummyStream(); // Suppress a bogus warning in MSVC.
// Hide all operator<< overloads from std::ostream.
No &operator<<(std::ostream &, int); void operator<<(Null<>);
};
template<typename T>
struct ConvertToIntImpl<T, true> No &operator<<(std::ostream &, int);
{
// Convert to int only if T doesn't have an overloaded operator<<. template<typename T>
enum struct ConvertToIntImpl<T, true>
{ {
value = sizeof(convert(get<DummyStream>() << get<T>())) == sizeof(No) // Convert to int only if T doesn't have an overloaded operator<<.
}; enum
}; {
value = sizeof(convert(get<DummyStream>() << get<T>())) == sizeof(No)
// Write the content of w to os. };
void write(std::ostream &os, Writer &w); };
} // namespace internal
// Write the content of w to os.
// Formats a value. void write(std::ostream &os, Writer &w);
template <typename Char, typename ArgFormatter, typename T> } // namespace internal
void format_arg(BasicFormatter<Char, ArgFormatter> &f,
const Char *&format_str, const T &value) // Formats a value.
{ template <typename Char, typename ArgFormatter, typename T>
internal::MemoryBuffer<Char, internal::INLINE_BUFFER_SIZE> buffer; void format_arg(BasicFormatter<Char, ArgFormatter> &f,
const Char *&format_str, const T &value)
internal::FormatBuf<Char> format_buf(buffer); {
std::basic_ostream<Char> output(&format_buf); internal::MemoryBuffer<Char, internal::INLINE_BUFFER_SIZE> buffer;
output << value;
internal::FormatBuf<Char> format_buf(buffer);
BasicStringRef<Char> str(&buffer[0], format_buf.size()); std::basic_ostream<Char> output(&format_buf);
typedef internal::MakeArg< BasicFormatter<Char> > MakeArg; output << value;
format_str = f.format(format_str, MakeArg(str));
} BasicStringRef<Char> str(&buffer[0], format_buf.size());
typedef internal::MakeArg< BasicFormatter<Char> > MakeArg;
/** format_str = f.format(format_str, MakeArg(str));
\rst }
Prints formatted data to the stream *os*.
/**
**Example**:: \rst
Prints formatted data to the stream *os*.
print(cerr, "Don't {}!", "panic");
\endrst **Example**::
*/
FMT_API void print(std::ostream &os, CStringRef format_str, ArgList args); print(cerr, "Don't {}!", "panic");
FMT_VARIADIC(void, print, std::ostream &, CStringRef) \endrst
*/
FMT_API void print(std::ostream &os, CStringRef format_str, ArgList args);
FMT_VARIADIC(void, print, std::ostream &, CStringRef)
} // namespace fmt } // namespace fmt
#ifdef FMT_HEADER_ONLY #ifdef FMT_HEADER_ONLY

File diff suppressed because it is too large Load Diff

@ -17,7 +17,7 @@ class sink
public: public:
sink() sink()
{ {
_level = level::trace; _level = level::trace;
} }
virtual ~sink() {} virtual ~sink() {}

Loading…
Cancel
Save