Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TStatusBitsChecker.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/meta:$Id$
0002 // Author: Philippe Canal, 2017
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2017, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TStatusBitsChecker
0013 #define ROOT_TStatusBitsChecker
0014 
0015 #include <map>
0016 #include <list>
0017 
0018 #include "RtypesCore.h"
0019 
0020 class TClass;
0021 
0022 namespace ROOT {
0023 namespace Detail {
0024 
0025 class TStatusBitsChecker {
0026 protected:
0027    static UChar_t ConvertToBit(Long64_t constant, TClass &classRef, const char *constantName);
0028 
0029 public:
0030    class Registry {
0031    protected:
0032       struct Info;
0033 
0034       std::map<UChar_t, std::list<Info>> fRegister; ///<! Register of bits seen so far.
0035 
0036    public:
0037 
0038       void RegisterBits(TClass &classRef);
0039 
0040       bool Check(TClass &classRef, bool verbose = false);
0041 
0042       Registry();  // Implemented in source file to allow hiding of the Info struct.
0043       ~Registry(); // Implemented in source file to allow hiding of the Info struct.
0044    };
0045 
0046    static bool Check(TClass &classRef, bool verbose = false);
0047    static bool Check(const char *classname, bool verbose = false);
0048    static bool CheckAllClasses(bool verbosity = false);
0049 };
0050 
0051 } // Details
0052 } // ROOT
0053 
0054 #endif // ROOT__TStatusBitsChecker