में फ़ाइलों को शामिल करने के संकलन-समय अस्तित्व का निर्धारण करें, मैं कुछ पोर्टेबल सी ++ लाइब्रेरी कोड लिखने की कोशिश कर रहा हूं जो प्रारंभ में बूस्ट.रेगेक्स पर निर्भर करेगा, और उसके बाद टीआर 1 पर जाएं क्योंकि कंपेलर इसका समर्थन करते हैं, और अंत में सी ++ 0x विनिर्देशों को std :: tr1 नेमस्पेस से std में स्थानांतरित करने के बाद। यहाँ मैं पूर्वप्रक्रमक के साथ क्या करना चाहते हैं, उसके लिए कुछ छद्म कोड है:सी ++
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