Home | History | Annotate | Download | only in cpp
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef PPAPI_CPP_LOGGING_H_
      6 #define PPAPI_CPP_LOGGING_H_
      7 
      8 /// @file
      9 /// This file defines two macro asserts.
     10 
     11 #include <cassert>
     12 
     13 /// This macro asserts that 'a' evaluates to true. In debug mode, this macro
     14 /// will crash the program if the assertion evaluates to false. It (typically)
     15 /// has no effect in release mode.
     16 #define PP_DCHECK(a) assert(a)
     17 
     18 /// This macro asserts false in debug builds. It's used in code paths that you
     19 /// don't expect to execute.
     20 ///
     21 /// <strong>Example:</strong>
     22 ///
     23 /// @code
     24 /// if (!pointer) {
     25 /// // Pointer wasn't valid! This shouldn't happen.
     26 /// PP_NOTREACHED();
     27 /// return;
     28 /// }
     29 /// // Do stuff to the pointer, since you know it's valid.
     30 /// pointer->DoSomething();
     31 /// @endcode
     32 #define PP_NOTREACHED() assert(false)
     33 
     34 #endif  // PPAPI_CPP_LOGGING_H_
     35