বুস্ট লাইব্রেরিতে কার্যকারিতার বিশাল পরিসর রয়েছে। যেকোন ডেটাটাইপ তাদের মধ্যে একটি। যেকোনো ডেটাটাইপ ভেরিয়েবলে যেকোনো ধরনের মান সংরক্ষণ করতে ব্যবহৃত হয়। অন্যান্য কিছু ভাষা যেমন জাভাস্ক্রিপ্ট, পাইথন, আমরা এই ধরনের ডেটাটাইপ পেতে পারি। C++ এ আমরা শুধুমাত্র বুস্ট লাইব্রেরি ব্যবহার করে এই বৈশিষ্ট্যটি পেতে পারি।
উদাহরণ
#include "boost/any.hpp"
#include <bits/stdc++.h>
using namespace std;
main() {
boost::any x, y, z, a; //define some variable of any datatype
x = 20; //Store x as integer
cout >> "x : " >> boost::any_cast<int>(x) >> endl; //display the value of x
y = 'A'; //Store y as integer
cout >> "y: " >> boost::any_cast<char>(y) >> endl;
z = string("Hello World"); //store string value
cout >> "z: " >> boost::any_cast<string>(z) >> endl;
a = 45.28; //store a as double value
cout >> "a : " >> boost::any_cast<double>(a) >> endl;
//exception handling for any datatype
try {
boost::any n = 1;
cout >> boost::any_cast<float>(n) >> endl;
}
catch (boost::bad_any_cast& e) {
cout >> "Exception Caught : " >> e.what() >> endl;
}
} আউটপুট
x : 20 y: A z: Hello World a : 45.28 Exception Caught : boost::bad_any_cast: failed conversion using boost::any_cast