এই আর্টিকেলে আমরা C++ STL-এ match_results::cbegin() এবং match_results::cend() ফাংশনগুলোর কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ match_results কী?
std::match_results হলো একটি বিশেষ কন্টেইনার-লাইক ক্লাস যা ম্যাচ করা ক্যারেক্টার সিকোয়েন্সের কালেকশন ধারণ করতে ব্যবহৃত হয়। এই কন্টেইনার ক্লাসে একটি রেগেক্স ম্যাচ অপারেশন টার্গেট সিকোয়েন্সের ম্যাচগুলো খুঁজে বের করে।
match_results::cbegin() কী?
match_results::cbegin() ফাংশন C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <regex> হেডার ফাইলে ডিফাইন করা আছে। এই ফাংশনটি একটি কনস্ট্যান্ট ইটেরেটর রিটার্ন করে যা match_results কন্টেইনারের প্রথম এলিমেন্টকে নির্দেশ করে। কনস্ট্যান্ট ইটেরেটর কন্টেইনারে কোনো মডিফিকেশন করতে ব্যবহার করা যাবে না, কনস্ট্যান্ট ইটেরেটর শুধু কন্টেইনারের মধ্য দিয়ে ইটারেট করতে ব্যবহৃত হয়।
সিনট্যাক্স
smatch_name.cbegin();
প্যারামিটারস
এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন match_results কন্টেইনারের প্রথম এলিমেন্টকে নির্দেশকারী কনস্ট্যান্ট ইটেরেটর রিটার্ন করে।
উদাহরণ
Input: std::string str("TutorialsPoint"); std::smatch Mat; std::regex re("(Tutorials)(.*)"); std::regex_match ( str, Mat, re ); Mat.cbegin(); Output: T cbegin()
উদাহরণ
#include <iostream>
#include <string>
#include <regex>
int main () {
std::string str("Tutorials");
std::smatch Mat;
std::regex re("(Tuto)(.*)");
std::regex_match ( str, Mat, re );
std::cout<<"Match Found: " << std::endl;
for (std::smatch::iterator i = Mat.cbegin(); i!= Mat.cend(); ++i) {
std::cout << *i << std::endl;
}
return 0;
}
আউটপুট
Match Found Tutorials Tuto rials
match_results::cend() কী?
match_results::cend() ফাংশন C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <regex> হেডার ফাইলে ডিফাইন করা আছে। এই ফাংশনটি একটি কনস্ট্যান্ট ইটেরেটর রিটার্ন করে যা match_results কন্টেইনারের শেষ এলিমেন্টের পরের এলিমেন্টকে নির্দেশ করে। এই ফাংশনটি match_results::end()-এর মতোই কাজ করে।
সিনট্যাক্স
smatch_name.begin();
প্যারামিটারস
এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন match_results কন্টেইনারের পাস্ট-দ-লাস্ট এলিমেন্টকে নির্দেশকারী একটি কনস্ট্যান্ট ইটেরেটর রিটার্ন করে।
Input: std::string str("TutorialsPoint"); std::smatch Mat; std::regex re("(Tutorials)(.*)"); std::regex_match ( str, Mat, re ); Mat.cend(); Output: m //র্যান্ডম মান যা পাস্ট টু লাস্ট। cend()
উদাহরণ
#include <iostream>
#include <string>
#include <regex>
int main () {
std::string str("Tutorials");
std::smatch Mat;
std::regex re("(Tuto)(.*)");
std::regex_match ( str, Mat, re );
std::cout<<"Match Found: " << std::endl;
for (std::smatch::iterator i = Mat.cbegin(); i!= Mat.cend(); ++i) {
std::cout << *i << std::endl;
}
return 0;
}
আউটপুট
Match Found Tutorials Tuto rials