#ifndef seafire__protocol__rc7231__media_range_hxx_ #define seafire__protocol__rc7231__media_range_hxx_ #include #include #include #include namespace seafire::protocol::rfc7231 { class media_range_t { public: using const_iterator = typename std::vector::const_iterator; media_range_t(); media_range_t(media_type_t type); media_range_t(std::vector types); const_iterator begin() const; const_iterator cbegin() const; const_iterator end() const; const_iterator cend() const; std::vector const& get() const; template static std::optional try_parse(InputIterator& begin, InputIterator const& end, std::error_code& ec); static std::optional try_parse(std::vector const& strings, std::error_code& ec); private: void sort_internals(); std::vector types_; }; } // namespace seafire::protocol::rfc7231 #include #endif