+{
+ return this->add_with_length(s, string_length(s), copy, pkey);
+}
+
+// Add a new key offset entry.
+
+template<typename Stringpool_char>
+void
+Stringpool_template<Stringpool_char>::new_key_offset(size_t length)
+{
+ section_offset_type offset;
+ if (this->zero_null_ && length == 0)
+ offset = 0;
+ else
+ {
+ offset = this->offset_;
+ // Align strings.
+ offset = align_address(offset, this->addralign_);
+ this->offset_ = offset + (length + 1) * sizeof(Stringpool_char);
+ }
+ this->key_to_offset_.push_back(offset);
+}
+
+template<typename Stringpool_char>
+const Stringpool_char*
+Stringpool_template<Stringpool_char>::add_with_length(const Stringpool_char* s,
+ size_t length,
+ bool copy,
+ Key* pkey)