RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Classes | Namespaces | Macros
Registry.hpp File Reference
#include <memory>

Go to the source code of this file.

Classes

class  RAJA::util::RegistryEntry< T >
 
class  RAJA::util::Registry< T >
 
class  RAJA::util::Registry< T >::node
 
class  RAJA::util::Registry< T >::iterator
 
class  RAJA::util::Registry< T >::add< V >
 A static registration template. More...
 

Namespaces

 RAJA
 
 RAJA::util
 

Macros

#define RAJA_INSTANTIATE_REGISTRY(REGISTRY_CLASS)
 

Macro Definition Documentation

◆ RAJA_INSTANTIATE_REGISTRY

#define RAJA_INSTANTIATE_REGISTRY (   REGISTRY_CLASS)
Value:
namespace RAJA \
{ \
namespace util \
{ \
template<typename T> \
typename Registry<T>::node* Registry<T>::Head = nullptr; \
template<typename T> \
typename Registry<T>::node* Registry<T>::Tail = nullptr; \
template<typename T> \
void Registry<T>::add_node(typename Registry<T>::node* N) \
{ \
if (Tail) \
Tail->Next = N; \
else \
Head = N; \
Tail = N; \
} \
template<typename T> \
typename Registry<T>::iterator Registry<T>::begin() \
{ \
return iterator(Head); \
} \
template REGISTRY_CLASS::node* Registry<REGISTRY_CLASS::type>::Head; \
template REGISTRY_CLASS::node* Registry<REGISTRY_CLASS::type>::Tail; \
template void Registry<REGISTRY_CLASS::type>::add_node( \
REGISTRY_CLASS::node*); \
template REGISTRY_CLASS::iterator Registry<REGISTRY_CLASS::type>::begin(); \
} \
}
Definition: AlignedRangeIndexSetBuilders.cpp:35