7#ifndef CALOEVENT_CALOPREFETCH_H
8#define CALOEVENT_CALOPREFETCH_H
45template <
typename Iter>
49 if (++iter != endIter) {
52 if (++iter != endIter) {
70template <
typename Iter>
74 for (
int i = 0; i !=
count; ++ i) {
75 if (++iter != endIter) {
82 for (
int i = 0; i !=
count; ++ i) {
83 if (++iter != endIter) {
101template <
class T,
class ALLOC,
int COUNT=1>
113 for (
int i = 0; i != COUNT; ++ i) {
116 for (
int i = 0; i != COUNT; ++ i) {
138 for (
int i = 0; i != COUNT; ++ i) {
141 for (
int i = 0; i != COUNT; ++ i) {
User interface for allocating memory. See Arena.h for an overview of the arena-based memory allocator...
std::pair< std::vector< unsigned int >, bool > res
SG::ArenaHandle< T, ALLOC > Base
void * allocate()
Return space for new element, then allocate and prefetch one more.
ArenaHandlePrefetch()
Make.
void erase()
Free all allocated elements.
void erase()
Free all allocated elements and release memory back to the system (of this type in the current Arena)...
User interface for allocating memory.
void * allocate()
Allocate a new element.
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
This software was developed for the ATLAS project.
void nextDDE(Iter iter, Iter endIter)
Prefetch next CaloDDE.
void prefetchN(const void *ptr)
Prefetch an N-byte block of memory.
void prefetchObj(const T *ptr)
Generic prefetch of the object of specific types (sizes).
Functions to prefetch blocks of memory.