Commit c8a8464f authored by Victor Zverovich's avatar Victor Zverovich

Optimize buffer construction

parent 8cbfb6e7
...@@ -365,6 +365,9 @@ class basic_buffer { ...@@ -365,6 +365,9 @@ class basic_buffer {
std::size_t capacity_; std::size_t capacity_;
protected: protected:
// Don't initialize ptr_ since it is not accessed to save a few cycles.
basic_buffer(std::size_t sz) FMT_NOEXCEPT: size_(sz), capacity_(sz) {}
basic_buffer(T *p = FMT_NULL, std::size_t sz = 0, std::size_t cap = 0) basic_buffer(T *p = FMT_NULL, std::size_t sz = 0, std::size_t cap = 0)
FMT_NOEXCEPT: ptr_(p), size_(sz), capacity_(cap) {} FMT_NOEXCEPT: ptr_(p), size_(sz), capacity_(cap) {}
...@@ -445,8 +448,7 @@ class container_buffer : public basic_buffer<typename Container::value_type> { ...@@ -445,8 +448,7 @@ class container_buffer : public basic_buffer<typename Container::value_type> {
public: public:
explicit container_buffer(Container &c) explicit container_buffer(Container &c)
: basic_buffer<typename Container::value_type>(&c[0], c.size(), c.size()), : basic_buffer<typename Container::value_type>(c.size()), container_(c) {}
container_(c) {}
}; };
struct error_handler { struct error_handler {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment