Hi, I just noticed that in my libraries the typedef & using aliases are not detected in interactive ROOT. I have declared them as following :
#ifndef _MYCLASS_GUARD_H
#define _MYCLASS_GUARD_H
#include "MyNamespace/TMyClassT.h"
using TMyClass = Namespace::TMyClassT<float>;
// or using typedef
// typedef Namespace::TMyClassT<float> TMyClass;
#pragma link C++ class TTensor+;
using TMyClassD = Namespace::TMyClassT<double>;
// or using typedef
// typedef Namespace::TMyClassT<float> TMyClass;
#endif
I am actually getting Namespace::TMyClassT in my interactive root shell while using TAB, so I think my LinkDef.h is correct, but this is not working for aliases.
My only option at the moment is to define TMyClass as a real class and inherit Namespace::TMyClassT including constructor including `#pragma link C++ class TMyClass+;.
Am I doing something wrong here or is that the only solution ? I have actually found some documentation about typedef here Chapter: Addinga Class and also included the pragma in such way #pragma link C++ typedef TMyClass+;
ROOT Version: ROOT 6.34
Platform: MacOS
Compiler: Apple Clang 15