Image

Imagehydrargentum wrote in Imageru_cpp

Category:

Кунштюки

Недавно ковырял апачевский LOG4CXX - набрел там на оч красивый кусочек кода:

#define LOG4CXX_DEBUG(logger, message) { \
if (LOG4CXX_UNLIKELY(logger->isDebugEnabled())) {\
::log4cxx::helpers::MessageBuffer oss_; \
logger->forcedLog(::log4cxx::Level::getDebug(), oss_.str(oss_ << message), LOG4CXX_LOCATION); }}

что это дает, а дает это следующее

в случае вызова :

LOG4CXX_DEBUG(logger, "THIS MESSAGE MUST NOT BE DISPLAYED "<< getSomeHeavyCalculation() <<" NEVER EVER");

при уровне логера меньшем чем DEBUG, вся калькуляция связаная с запихиванием параметров в поток не будет вычислятся вообще, и это будет сделано на рантайме.

А какие красивые кунштюки запомнились вам?