From 966867a9ca8ca3dd9e783d628b8184563318d03c Mon Sep 17 00:00:00 2001 From: ipknHama Date: Fri, 12 Dec 2014 01:38:57 +0900 Subject: change pointer to reference; fix up spaces --- include/utility.h | 92 ++++++++++++++++++++++++++----------------------------- 1 file changed, 43 insertions(+), 49 deletions(-) (limited to 'include/utility.h') diff --git a/include/utility.h b/include/utility.h index 835fdbd..c036d35 100644 --- a/include/utility.h +++ b/include/utility.h @@ -7,48 +7,48 @@ namespace crow { - namespace black_magic - { - struct OutOfRange - { - OutOfRange(unsigned pos, unsigned length) {} - }; - constexpr unsigned requires_in_range( unsigned i, unsigned len ) - { - return i >= len ? throw OutOfRange(i, len) : i; - } - - class const_str - { - const char * const begin_; - unsigned size_; - - public: - template< unsigned N > - constexpr const_str( const char(&arr)[N] ) : begin_(arr), size_(N - 1) { - static_assert( N >= 1, "not a string literal"); - } - constexpr char operator[]( unsigned i ) const { - return requires_in_range(i, size_), begin_[i]; - } - - constexpr operator const char *() const { - return begin_; - } - - constexpr const char* begin() const { return begin_; } - constexpr const char* end() const { return begin_ + size_; } - - constexpr unsigned size() const { - return size_; - } - }; - - - constexpr unsigned find_closing_tag(const_str s, unsigned p) - { - return s[p] == '>' ? p : find_closing_tag(s, p+1); - } + namespace black_magic + { + struct OutOfRange + { + OutOfRange(unsigned pos, unsigned length) {} + }; + constexpr unsigned requires_in_range( unsigned i, unsigned len ) + { + return i >= len ? throw OutOfRange(i, len) : i; + } + + class const_str + { + const char * const begin_; + unsigned size_; + + public: + template< unsigned N > + constexpr const_str( const char(&arr)[N] ) : begin_(arr), size_(N - 1) { + static_assert( N >= 1, "not a string literal"); + } + constexpr char operator[]( unsigned i ) const { + return requires_in_range(i, size_), begin_[i]; + } + + constexpr operator const char *() const { + return begin_; + } + + constexpr const char* begin() const { return begin_; } + constexpr const char* end() const { return begin_ + size_; } + + constexpr unsigned size() const { + return size_; + } + }; + + + constexpr unsigned find_closing_tag(const_str s, unsigned p) + { + return s[p] == '>' ? p : find_closing_tag(s, p+1); + } constexpr bool is_valid(const_str s, unsigned i = 0, int f = 0) { @@ -322,16 +322,10 @@ template namespace utility { template - T get_element_by_type(std::tuple& t) + T& get_element_by_type(std::tuple& t) { return std::get::value>(t); } - template - T* get_element_by_type_ptr(std::tuple& t) - { - return &std::get::value>(t); - } - } // namespace utility } -- cgit v1.2.3-54-g00ecf