12 #ifndef SST_CORE_ELI_PROFILEPOINTINFO_H 
   13 #define SST_CORE_ELI_PROFILEPOINTINFO_H 
   15 #include "sst/core/eli/elibase.h" 
   23 template <
class T, 
class Enable = 
void>
 
   26     static const std::vector<SST::ElementInfoProfilePoint>& get()
 
   28         static std::vector<SST::ElementInfoProfilePoint> var = {};
 
   36     static const std::vector<SST::ElementInfoProfilePoint>& get() { 
return T::ELI_getProfilePoints(); }
 
   42     const std::vector<ElementInfoProfilePoint>& getProfilePoints()
 const { 
return points_; }
 
   44     void toString(std::ostream& os) 
const;
 
   46     template <
class XMLNode>
 
   47     void outputXML(XMLNode* node)
 const 
   51             auto* element = 
new XMLNode(
"ProfilePoint");
 
   52             element->SetAttribute(
"Index", idx);
 
   53             element->SetAttribute(
"Name", point.name);
 
   54             element->SetAttribute(
"Description", point.description ? point.description : 
"none");
 
   55             element->SetAttribute(
"Interface", point.superclass ? point.superclass : 
"none");
 
   56             node->LinkEndChild(element);
 
   67     std::vector<ElementInfoProfilePoint> points_;
 
   74 #define SST_ELI_DOCUMENT_PROFILE_POINTS(...)                                                                       \ 
   75     static const std::vector<SST::ElementInfoProfilePoint>& ELI_getProfilePoints()                                 \ 
   77         static std::vector<SST::ElementInfoProfilePoint> var = { __VA_ARGS__ };                                    \ 
   78         auto parent = SST::ELI::InfoProfilePoints<                                                                 \ 
   79             typename std::conditional<(__EliDerivedLevel > __EliBaseLevel), __LocalEliBase, __ParentEliBase>::type>::get(); \ 
   80         SST::ELI::combineEliInfo(var, parent);                                                                     \ 
   84 #define SST_ELI_DELETE_PROFILE_POINT(point) \ 
   86         point, nullptr, nullptr             \ 
Definition: profilePointInfo.h:40
 
Definition: profilePointInfo.h:25
 
Definition: elibase.h:130