diff --git a/tensorflow_text/core/kernels/fast_wordpiece_tokenizer_model_builder.cc b/tensorflow_text/core/kernels/fast_wordpiece_tokenizer_model_builder.cc index 9467c4d6e..f57056f63 100644 --- a/tensorflow_text/core/kernels/fast_wordpiece_tokenizer_model_builder.cc +++ b/tensorflow_text/core/kernels/fast_wordpiece_tokenizer_model_builder.cc @@ -217,7 +217,7 @@ class FastWordpieceBuilder { int unk_token_id_ = -1; // A wrapper to access the trie encoded by `trie_array_`. - absl::optional trie_; + std::optional trie_; // The actual data of the trie. std::vector trie_array_; @@ -271,7 +271,7 @@ absl::Status FastWordpieceBuilder::BuildModel( } // Determine `unk_token_id_`. - const absl::optional unk_token_id = vocab_->LookupId(unk_token_); + const std::optional unk_token_id = vocab_->LookupId(unk_token_); if (!unk_token_id.has_value()) { return absl::FailedPreconditionError("Cannot find unk_token in the vocab!"); } @@ -309,7 +309,7 @@ FastWordpieceBuilder::PrepareVocabTokensToBuildTrie() { std::vector tokens_to_build_trie; tokens_to_build_trie.reserve(vocab_->Size()); for (int token_id = 0; token_id < vocab_->Size(); ++token_id) { - const absl::optional word = vocab_->LookupWord(token_id); + const std::optional word = vocab_->LookupWord(token_id); if (!word.has_value()) { return absl::FailedPreconditionError( "Impossible. `token_id` is definitely within the range of vocab " @@ -837,7 +837,7 @@ absl::Status FastWordpieceBuilder::PrecomputeResultForSuffixIndicator() { return absl::FailedPreconditionError(status.error_msg); } for (int i = 0; i < subwords.size(); ++i) { - const absl::optional subword_id = vocab_->LookupId(subwords[i]); + const std::optional subword_id = vocab_->LookupId(subwords[i]); if (!subword_id.has_value()) { return absl::FailedPreconditionError( "Impossible because `subwords[i]` must be in the vocabulary!"); @@ -877,7 +877,7 @@ absl::StatusOr FastWordpieceBuilder::ExportToFlatBuffer() const { if (support_detokenization_) { vocab_fbs_vector.reserve(vocab_->Size()); for (int i = 0; i < vocab_->Size(); ++i) { - const absl::optional word = vocab_->LookupWord(i); + const std::optional word = vocab_->LookupWord(i); if (!word.has_value()) { return absl::FailedPreconditionError( "Impossible. `token_id` is definitely within the range of vocab " diff --git a/tensorflow_text/core/kernels/phrase_tokenizer_model_builder.cc b/tensorflow_text/core/kernels/phrase_tokenizer_model_builder.cc index 268aeb32c..cd464b467 100644 --- a/tensorflow_text/core/kernels/phrase_tokenizer_model_builder.cc +++ b/tensorflow_text/core/kernels/phrase_tokenizer_model_builder.cc @@ -71,7 +71,7 @@ absl::Status PhraseBuilder::BuildModel(const std::vector& vocab, } // Determine `unk_token_id_`. - const absl::optional unk_token_id = vocab_->LookupId(unk_token_); + const std::optional unk_token_id = vocab_->LookupId(unk_token_); if (!unk_token_id.has_value()) { return absl::FailedPreconditionError("Cannot find unk_token in the vocab!"); } @@ -93,7 +93,7 @@ absl::StatusOr PhraseBuilder::ExportToFlatBuffer() const { if (support_detokenization_) { vocab_fbs_vector.reserve(vocab_->Size()); for (int i = 0; i < vocab_->Size(); ++i) { - const absl::optional word = vocab_->LookupWord(i); + const std::optional word = vocab_->LookupWord(i); if (!word.has_value()) { return absl::FailedPreconditionError( "Impossible. `token_id` is definitely within the range of vocab " diff --git a/tensorflow_text/core/kernels/string_vocab.cc b/tensorflow_text/core/kernels/string_vocab.cc index a2c239a93..509c0af81 100644 --- a/tensorflow_text/core/kernels/string_vocab.cc +++ b/tensorflow_text/core/kernels/string_vocab.cc @@ -30,7 +30,7 @@ LookupStatus StringVocab::Contains(absl::string_view key, bool* value) const { return LookupStatus(); } -absl::optional StringVocab::LookupId(absl::string_view key) const { +std::optional StringVocab::LookupId(absl::string_view key) const { auto it = index_map_.find(key); if (it == index_map_.end()) { return absl::nullopt; @@ -40,7 +40,7 @@ absl::optional StringVocab::LookupId(absl::string_view key) const { } // Returns the key of `vocab_id` or empty if `vocab_id` is not valid. -absl::optional StringVocab::LookupWord(int vocab_id) const { +std::optional StringVocab::LookupWord(int vocab_id) const { if (vocab_id >= vocab_.size() || vocab_id < 0) { return absl::nullopt; } diff --git a/tensorflow_text/core/kernels/string_vocab.h b/tensorflow_text/core/kernels/string_vocab.h index 4590f2775..1bd481797 100644 --- a/tensorflow_text/core/kernels/string_vocab.h +++ b/tensorflow_text/core/kernels/string_vocab.h @@ -33,9 +33,9 @@ class StringVocab : public WordpieceVocab { StringVocab(const StringVocab&) = delete; StringVocab& operator=(const StringVocab&) = delete; LookupStatus Contains(absl::string_view key, bool* value) const override; - absl::optional LookupId(absl::string_view key) const; + std::optional LookupId(absl::string_view key) const; // Returns the key of `vocab_id` or empty if `vocab_id` is not valid. - absl::optional LookupWord(int vocab_id) const; + std::optional LookupWord(int vocab_id) const; int Size() const { return index_map_.size(); } private: