use std::atomic for var_id if available, fallback to boost::atomic and then to just unsigned with a warning
use std::atomic for var_id if available, fallback to boost::atomic and then to just unsigned with a warning

hoangmle/metaSMT,hoangmle/metaSMT,hoangmle/metaSMT