Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ion::base::logging_internal Namespace Reference

Internal logging implementation. More...

Classes

class  Logger
 This class is used for regular logging. More...
 
class  NullLogger
 This class is used to disable logging, while still allowing for log messages to contain '<<' expressions. More...
 
class  SingleLogger
 This class prints a message only the first time it is created for the passed file_name and line_number. More...
 
class  ThrottledLogger
 This class prints a message only if the passed file_name and line_number has not printed a message in a certain amount of time. More...
 

Functions

template<typename T >
TCheckNotNullCommon (const char *expr_string, T &t)
 Helpers for CHECK_NOTNULL(). More...
 
template<typename T >
TCheckNotNull (const char *expr_string, T *t)
 
template<typename T >
TCheckNotNull (const char *expr_string, T &t)
 
template<typename T >
const TCheckNotNull (const char *expr_string, const T &t)
 This extra overload is needed to support non-const rvalues of non-pointer type. More...
 

Detailed Description

Internal logging implementation.

Should not be used by client code. Classes and variables are in an internal namespace to avoid polluting the Ion namespace.

Function Documentation

template<typename T >
T* ion::base::logging_internal::CheckNotNull ( const char *  expr_string,
T t 
)

Definition at line 354 of file logging.h.

References CheckNotNullCommon().

template<typename T >
T& ion::base::logging_internal::CheckNotNull ( const char *  expr_string,
T t 
)

Definition at line 359 of file logging.h.

References CheckNotNullCommon().

template<typename T >
const T& ion::base::logging_internal::CheckNotNull ( const char *  expr_string,
const T t 
)

This extra overload is needed to support non-const rvalues of non-pointer type.

For example, it enables the following use-case: CHECK_NOTNULL(make_scoped_ptr<T>(MakeT()));

Without this overload, the above code wouldn't compile.

Definition at line 371 of file logging.h.

References CheckNotNullCommon().

template<typename T >
T& ion::base::logging_internal::CheckNotNullCommon ( const char *  expr_string,
T t 
)

Helpers for CHECK_NOTNULL().

Two are necessary to support both raw pointers and smart pointers.

Definition at line 346 of file logging.h.

References ion::base::logging_internal::Logger::CheckMessage(), ion::port::FATAL, and ION_LOG.

Referenced by CheckNotNull().