C++ boost::algorithm::hex()














































C++ boost::algorithm::hex()



Description:
The header 'boost/algorithm/hex.hpp'   contains the algorithm hex() and unhex() in C++ boost library. These functions are designed based on the MySQL function HEX and UNHEX. These functions are used for converting characters to hexadecimal values or hexadecimal to characters.

Syntax: hex():
template<typename InputIterator, typename OutputIterator>
     
unspecified hex(InputIterator, InputIterator, OutputIterator); template<typename Range, typename OutputIterator>
     
unspecified hex(const Range &, OutputIterator); unhex(): template<typename InputIterator, typename OutputIterator>
     
OutputIterator unhex(InputIterator, InputIterator, OutputIterator); template<typename T, typename OutputIterator>
     
OutputIterator unhex(const T *, OutputIterator);
   
template<typename Range, typename OutputIterator>
     
OutputIterator unhex(const Range &, OutputIterator);



Parameters:
The following parameters are accepted by the function:
1.) range: It is the iterator set for entire range of sequence. 2.) output iterator: It is the iterator set for copying the resultant value in hexadecimal or vice-versa.



Program:
#include <iostream>
#include <vector>
#include <boost/algorithm/hex.hpp>
using namespace std;

int main()
{
   
vector<int> Arr = {168734875};
   
/* Passing integer vector Arr to the hex function,
    ** this function expects an iterator to write the
    ** resultant hexadecimal value, so we attached
    ** output stream iterator to directly print the value
    */

    boost::algorithm::hex(Arr, ostream_iterator<
char> {cout, ""});

   
/* We passed hexadecimal value which will be interpreted as ASCII Code */
   
string s = "6370702073656372657473";
   
cout << endl << boost::algorithm::unhex(s);
}


Example:

Output: 0A0EB09B
               cpp secrets


Please write on comment section if you find any mistake or for any suggestions.

More Articles of Abhishek Kumar Singh:

Name Views Likes
C++ boost::range::replace_if 956 0
C++ boost::range::copy_backward 724 1
C++ boost::range::max_element 1177 0
C++ boost::range::inplace_merge 647 0
C++ boost::range::copy 1250 1
C++ boost::algorithm::is_partitioned() 819 1
C++ boost::algorithm::copy_if() 967 0
C++ boost::range::for_each (version 2) 727 0
C++ boost::range::set_symmetric_difference 636 0
C++ boost::remove_copy_if 723 0
C++ boost::range::set_intersection 940 0
C++ boost::range::find_end 673 0
C++ boost::range::remove_erase_if 1480 0
C++ boost::range::push_back 1086 0
C++ boost::range::generate 624 0
C++ boost::algorithm::any_of() 625 0
C++ boost::range::insert 696 0
C++ boost::range::remove_erase 896 0
C++ boost::range::reverse 1165 0
C++ boost::algorithm::equal() 724 1
C++ boost::range::copy_n 804 0
C++ boost::range::random_shuffle 1218 1
C++ boost::algorithm::partition_point() 586 0
C++ boost::algorithm::one_of_equal() 508 0
C++ boost::algorithm::all_of() 857 1
C++ boost::range::merge 962 0
C++ boost::range::reverse_copy 733 0
C++ boost::range::find 716 0
C++ boost::range::fill_n 586 0
Removing duplicate elements from std::vector (using std::unique and std::set) 2125 1
C++ boost::range::equal 671 0
C++ boost::algorithm::iota() 904 0
C++ boost::range::is_sorted 819 0
test article 760 2
C++ boost::algorithm::is_permutation() 808 1
C++ boost::partial_sum 831 0
C++ boost::range::partial_sort 893 1
C++ boost::range::min_element 989 0
C++ boost::range::iota 990 0
C++ boost::range::set_union 687 0
C++ boost::algorithm::partition_copy() 1047 3
C++ boost::range::swap_ranges 592 0
C++ boost::range::for_each 857 0
C++ boost::range::upper_bound 1021 0
C++ boost::range::binary_search 1187 0
C++ boost::algorithm::all_of_equal() 528 0
C++ boost::algorithm::copy_n() 647 1
C++ boost::range::lower_bound 985 0
C++ boost::algorithm::gather() 1388 0
C++ boost::algorithm::none_of_equal() 570 0
C++ boost::algorithm::one_of() 688 2
C++ boost::range::rotate 817 0
C++ boost::algorithm::any_of_equal() 818 0
Use of Comparator in C++ 2045 0
C++ boost::range::count 785 0
C++ boost::range::replace_copy_if 610 0
C++ boost::range::remove 790 2
C++ boost::remove_if 1360 1
C++ boost::range::nth_element 1095 1
C++ boost::range::partition 715 1
C++ boost::range::erase 607 0
C++ boost::range::fill 873 1
C++ boost::range::find_if 1214 0
C++ boost::range::lexicographical_compare 781 0
C++ boost::algorithm::none_of() 559 0
C++ boost::algorithm::hex() 3331 0
C++ boost::range::replace 702 0
C++ boost::range::replace_copy 794 1
C++ boost::range::set_difference 903 0
C++ boost::range::overwrite 680 0
C++ boost::range::count_if 908 0
C++ boost::range::push_front 641 0
C++ boost::range::includes 638 0
C++ boost::algorithm::is_sorted() 667 0
C++ boost::range::remove_copy 595 1
C++ boost::algorithm::minmax_element 596 1
Deletion of leaf node of a Binary Search Tree 1653 1
Nth Fibonacci Number (Recursive Solution, Dynamic Programming, Iterative Solution 3768 1
C++ boost::range::rotate_copy 621 0

Comments