If EventSensor is a class template (the declaration you gave is not a declaration of a class template). The variable declaration EventSensor<NOTIFICATION> m; will declare an instance m of a class specialized with NOTIFICATION as the template parameter. This class is called "EventSensor<NOTIFICATION>" (this is how it is called in the C++ standard).
In other words, the type of variable m is EventSensor<NOTIFICATION>.
When template arguments are provided or, for function and class (since C++17) templates only, deduced, they are substituted for the template parameters to obtain a specialization of the template, that is, a specific type or a specific function lvalue.
Yes, <NOTIFICATION> is the type of variable inside class EventSensor, but it is generic when the class is defined and then instantiated with NOTIFICATION.
If EventSensor is a class template (the declaration you gave is not a declaration of a class template). The variable declaration
EventSensor<NOTIFICATION> m;
will declare an instance m of a class specialized with NOTIFICATION as the template parameter. This class is called "EventSensor<NOTIFICATION>" (this is how it is called in the C++ standard).In other words, the type of variable m is
EventSensor<NOTIFICATION>
.Quoted from cppreference, template
Yes, <NOTIFICATION> is the type of variable inside class EventSensor, but it is generic when the class is defined and then instantiated with NOTIFICATION.
m is of type EventSensor
<NOTIFICATION> which is the type of variables used inside the class, that is, the type of a variable in m.
as
mStrList is of type ArrayList
The type of element s=mStrList.get(1); inis String;