diff options
Diffstat (limited to 'gold/stringpool.h')
-rw-r--r-- | gold/stringpool.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/gold/stringpool.h b/gold/stringpool.h index f353c9d..2f9a313 100644 --- a/gold/stringpool.h +++ b/gold/stringpool.h @@ -32,6 +32,28 @@ namespace gold class Output_file; +// Return the length of a string in units of Char_type. + +template<typename Char_type> +inline size_t +string_length(const Char_type* p) +{ + size_t len = 0; + for (; *p != 0; ++p) + ++len; + return len; +} + +// Specialize string_length for char. Maybe we could just use +// std::char_traits<>::length? + +template<> +inline size_t +string_length(const char* p) +{ + return strlen(p); +} + // A Stringpool is a pool of unique strings. It provides the // following features: @@ -266,10 +288,6 @@ class Stringpool_template Stringpool_template(const Stringpool_template&); Stringpool_template& operator=(const Stringpool_template&); - // Return the length of a string in units of Stringpool_char. - static size_t - string_length(const Stringpool_char*); - // Return whether two strings are equal. static bool string_equal(const Stringpool_char*, const Stringpool_char*); |