1616#include < string>
1717
1818#include " faster_tokenizer/core/encoding.h"
19- #include " glog/logging.h"
2019#include " faster_tokenizer/postprocessors/template.h"
20+ #include " glog/logging.h"
2121
2222namespace paddlenlp {
2323namespace faster_tokenizer {
@@ -27,7 +27,7 @@ void ParseIdFromString(const std::string& template_id_string,
2727 TemplatePiece* template_piece) {
2828 if (template_id_string.find_first_of (" $" ) == 0 ) {
2929 *template_piece = TemplateSequence ();
30- auto & seq = boost ::get<TemplateSequence>(*template_piece);
30+ auto & seq = paddlenlp ::get<TemplateSequence>(*template_piece);
3131 std::string rest =
3232 template_id_string.substr (template_id_string.find_first_not_of (" $" ));
3333 if (rest == " " || rest == " A" || rest == " a" ) {
@@ -48,15 +48,16 @@ void ParseIdFromString(const std::string& template_id_string,
4848 }
4949 } else {
5050 *template_piece = TemplateSpecialToken ();
51- boost::get<TemplateSpecialToken>(*template_piece) = {template_id_string, 0 };
51+ paddlenlp::get<TemplateSpecialToken>(*template_piece) = {template_id_string,
52+ 0 };
5253 }
5354}
5455
5556void SetTypeId (uint32_t type_id, TemplatePiece* template_piece) {
56- if (boost::get <TemplateSequence>(template_piece) != nullptr ) {
57- boost ::get<TemplateSequence>(*template_piece).second = type_id;
57+ if (paddlenlp::get_if <TemplateSequence>(template_piece) != nullptr ) {
58+ paddlenlp ::get<TemplateSequence>(*template_piece).second = type_id;
5859 } else {
59- boost ::get<TemplateSpecialToken>(*template_piece).second = type_id;
60+ paddlenlp ::get<TemplateSpecialToken>(*template_piece).second = type_id;
6061 }
6162}
6263
@@ -84,8 +85,8 @@ void GetTemplatePieceFromString(const std::string& template_string,
8485}
8586
8687void to_json (nlohmann::json& j, const TemplatePiece& template_piece) {
87- if (boost::get <TemplateSequence>(&template_piece) != nullptr ) {
88- auto & template_sequence = boost ::get<TemplateSequence>(template_piece);
88+ if (paddlenlp::get_if <TemplateSequence>(&template_piece) != nullptr ) {
89+ auto & template_sequence = paddlenlp ::get<TemplateSequence>(template_piece);
8990 j = {
9091 {" Sequence" ,
9192 {
@@ -95,7 +96,7 @@ void to_json(nlohmann::json& j, const TemplatePiece& template_piece) {
9596 };
9697 } else {
9798 auto & template_special_token =
98- boost ::get<TemplateSpecialToken>(template_piece);
99+ paddlenlp ::get<TemplateSpecialToken>(template_piece);
99100 j = {
100101 {" SpecialToken" ,
101102 {
@@ -135,7 +136,7 @@ size_t TemplatePostProcessor::CountAdded(
135136 size_t count = 0 ;
136137 for (auto & piece : template_->pieces_ ) {
137138 TemplateSpecialToken* special_token =
138- boost::get <TemplateSpecialToken>(&piece);
139+ paddlenlp::get_if <TemplateSpecialToken>(&piece);
139140 if (special_token != nullptr ) {
140141 auto token_iter =
141142 special_tokens_map.tokens_map_ .find (special_token->first );
@@ -244,8 +245,8 @@ void TemplatePostProcessor::ApplyTemplate(
244245 core::Encoding* result_encoding) const {
245246 size_t new_size = 0 ;
246247 for (auto && piece : pieces.pieces_ ) {
247- if (boost::get <TemplateSequence>(&piece) != nullptr ) {
248- auto seq_type = boost ::get<TemplateSequence>(piece).first ;
248+ if (paddlenlp::get_if <TemplateSequence>(&piece) != nullptr ) {
249+ auto seq_type = paddlenlp ::get<TemplateSequence>(piece).first ;
249250 if (seq_type == SequenceType::SEQ_A) {
250251 new_size += encoding->GetLen ();
251252 } else {
@@ -257,7 +258,8 @@ void TemplatePostProcessor::ApplyTemplate(
257258 }
258259 } else {
259260 if (add_special_tokens) {
260- auto && special_token = boost::get<TemplateSpecialToken>(piece).first ;
261+ auto && special_token =
262+ paddlenlp::get<TemplateSpecialToken>(piece).first ;
261263 if (special_tokens_map_.tokens_map_ .find (special_token) !=
262264 special_tokens_map_.tokens_map_ .end ()) {
263265 new_size +=
@@ -330,8 +332,8 @@ void TemplatePostProcessor::ApplyTemplate(
330332 }
331333 VLOG (6 ) << " Template pieces num: " << pieces.pieces_ .size ();
332334 for (auto & piece : pieces.pieces_ ) {
333- if (boost::get <TemplateSequence>(&piece) != nullptr ) {
334- auto & template_sequence = boost ::get<TemplateSequence>(piece);
335+ if (paddlenlp::get_if <TemplateSequence>(&piece) != nullptr ) {
336+ auto & template_sequence = paddlenlp ::get<TemplateSequence>(piece);
335337 if (template_sequence.first == SequenceType::SEQ_A) {
336338 auto seq_start = ids.size ();
337339 auto seq_end = seq_start + encoding->GetLen ();
@@ -385,7 +387,7 @@ void TemplatePostProcessor::ApplyTemplate(
385387 pair_encoding->GetAttentionMask ().end ());
386388 }
387389 } else {
388- auto & special_token = boost ::get<TemplateSpecialToken>(piece);
390+ auto & special_token = paddlenlp ::get<TemplateSpecialToken>(piece);
389391 if (add_special_tokens) {
390392 const std::string& id = special_token.first ;
391393 uint32_t type_id = special_token.second ;
0 commit comments