RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Classes | Public Types | Static Public Member Functions | Friends | List of all members
RAJA::util::Registry< T > Class Template Reference

#include <Registry.hpp>

Classes

class  add
 A static registration template. More...
 
class  iterator
 
class  node
 

Public Types

using type = T
 
using entry = RegistryEntry< T >
 

Static Public Member Functions

static RAJASHAREDDLL_API void add_node (node *N)
 
static RAJASHAREDDLL_API iterator begin ()
 
static iterator end ()
 

Friends

class node
 

Detailed Description

template<typename T>
class RAJA::util::Registry< T >

A global registry used in conjunction with static constructors to make pluggable components (like targets or garbage collectors) "just work" when linked with an executable.

Member Typedef Documentation

◆ type

template<typename T >
using RAJA::util::Registry< T >::type = T

◆ entry

template<typename T >
using RAJA::util::Registry< T >::entry = RegistryEntry<T>

Member Function Documentation

◆ add_node()

template<typename T >
static RAJASHAREDDLL_API void RAJA::util::Registry< T >::add_node ( node N)
static

Add a node to the Registry: this is the interface between the plugin and the executable.

This function is exported by the executable and called by the plugin to add a node to the executable's registry. Therefore it's not defined here to avoid it being instantiated in the plugin and is instead defined in the executable (see RAJA_INSTANTIATE_REGISTRY below).

◆ begin()

template<typename T >
static RAJASHAREDDLL_API iterator RAJA::util::Registry< T >::begin ( )
static

◆ end()

template<typename T >
static iterator RAJA::util::Registry< T >::end ( )
inlinestatic

Friends And Related Function Documentation

◆ node

template<typename T >
friend class node
friend

The documentation for this class was generated from the following file: