Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/include/cassert

    r8abee136 rf685679  
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Aug 18 13:19:26 2016
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Aug  1 11:56:01 2017
    13 // Update Count     : 16
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Thu May 23 15:30:00 2017
     13// Update Count     : 17
    1414//
    1515
     
    4343#endif
    4444
    45 template<typename T, typename U>
    46 static inline __attribute__((nonnull)) T strict_dynamic_cast( const U & src ) {
     45enum StrictAllowNull {NonNull, AllowNull};
     46
     47template<typename T, StrictAllowNull nullable = NonNull, typename U>
     48static inline T strict_dynamic_cast( const U & src ) {
     49        if (nullable == AllowNull && src == nullptr) {
     50                return nullptr;
     51        }
    4752        assert(src);
    4853        T ret = dynamic_cast<T>(src);
Note: See TracChangeset for help on using the changeset viewer.