처음에는 Boost.Regex에 의존하는 휴대용 C++ 라이브러리 코드를 작성하려고합니다. 그리고 컴파일러가 지원하고 결국에는 C++로 TR1로 이동합니다. std :: tr1 네임 스페이스에서 std로 이동 한 후 0x 사양. 여기에 내가 전처리와는하고 싶은 것을 위해 일부 의사 코드 :C++에서 포함 파일의 컴파일 시간을 확인하십시오.
if(exists(regex)) // check if I can #include <regex>
{
#include <regex> // per TR1
if(is_namespace(std::tr1)) // are we on TR1 or C++0x?
{
using std::tr1::regex;
} else
{
using std::regex;
}
} else // fall-back to boost
{
#include <boost/regex.hpp>
using boost::regex;
}
그 모든 처리기 지시문에있을 필요가, 부여,하지만 내가 수행하는 방법을 알고 있다면 그건 내가 않을 것 여기에서 물어보십시오. :)
설명해 주셔서 감사합니다! :) – Zac