বুস্ট লাইব্রেরিতে কার্যকারিতার বিশাল পরিসর রয়েছে। যেকোন ডেটাটাইপ তাদের মধ্যে একটি। যেকোনো ডেটাটাইপ ভেরিয়েবলে যেকোনো ধরনের মান সংরক্ষণ করতে ব্যবহৃত হয়। অন্যান্য কিছু ভাষা যেমন জাভাস্ক্রিপ্ট, পাইথন, আমরা এই ধরনের ডেটাটাইপ পেতে পারি। 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