Skip to content

Commit 7d15e9f

Browse files
committed
Hide Boost includes from ROOT dictionary generator and Cling
__ROOTCLING__ is defined by both rootcling at compile time and by Cling at runtime when it re-parses dictionary payloads. Boost headers (odeint, phoenix) contain template machinery that breaks Cling's JIT interpreter, corrupting the whole dictionary and causing unrelated classes to fail. Guarding with #ifndef __ROOTCLING__ keeps the class declaration visible for dictionary generation while hiding the problematic Boost includes.
1 parent 562ec82 commit 7d15e9f

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

src/core/behavior/regulatory_network.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@
1919

2020
#include "core/behavior/behavior.h"
2121

22+
#ifndef __ROOTCLING__
2223
#include "boost/numeric/odeint.hpp"
2324
#include "boost/phoenix/core.hpp"
2425
#include "boost/phoenix/operator.hpp"
26+
#endif
2527

2628
namespace bdm {
2729
class RegulatoryNetwork : public Behavior {

0 commit comments

Comments
 (0)