blitz Version 1.0.2
Loading...
Searching...
No Matches
blitz::MemoryBlockReference< P_type > Class Template Reference

#include <memblock.h>

Inheritance diagram for blitz::MemoryBlockReference< P_type >:
Inheritance graph
Collaboration diagram for blitz::MemoryBlockReference< P_type >:
Collaboration graph

Public Types

typedef P_type T_type
 

Public Member Functions

 MemoryBlockReference ()
 
 MemoryBlockReference (MemoryBlockReference< T_type > &ref, sizeType offset=0)
 
 MemoryBlockReference (sizeType length, T_type *data, preexistingMemoryPolicy deletionPolicy)
 
 MemoryBlockReference (sizeType items)
 
 ~MemoryBlockReference ()
 
bool isVectorAligned (size_t offset) const
 Returns true if the offset from data_ is vector aligned.
 
sizeType blockLength () const
 Returns the allocated length of the memory block.
 

Protected Member Functions

int numReferences () const
 
bool lockReferenceCount (bool lockingPolicy) const
 
void changeToNullBlock ()
 
void changeBlock (MemoryBlockReference< T_type > &ref, sizeType offset=0)
 
void newBlock (sizeType items)
 

Protected Attributes

T_type *restrict data_
 

Private Member Functions

void blockRemoveReference ()
 
void addReference () const
 
int removeReference () const
 
void operator= (const MemoryBlockReference< T_type > &)
 

Private Attributes

MemoryBlock< T_type > * block_
 

Member Typedef Documentation

◆ T_type

template<typename P_type >
typedef P_type blitz::MemoryBlockReference< P_type >::T_type

Constructor & Destructor Documentation

◆ MemoryBlockReference() [1/4]

template<typename P_type >
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( )
inline

◆ MemoryBlockReference() [2/4]

◆ MemoryBlockReference() [3/4]

◆ MemoryBlockReference() [4/4]

template<typename P_type >
blitz::MemoryBlockReference< P_type >::MemoryBlockReference ( sizeType  items)
inlineexplicit

◆ ~MemoryBlockReference()

Member Function Documentation

◆ addReference()

◆ blockLength()

template<typename P_type >
sizeType blitz::MemoryBlockReference< P_type >::blockLength ( ) const
inline

Returns the allocated length of the memory block.

References blitz::MemoryBlockReference< P_type >::block_, and blitz::MemoryBlock< P_type >::length().

◆ blockRemoveReference()

◆ changeBlock()

◆ changeToNullBlock()

◆ isVectorAligned()

template<typename P_type >
bool blitz::MemoryBlockReference< P_type >::isVectorAligned ( size_t  offset) const
inline

Returns true if the offset from data_ is vector aligned.

References blitz::MemoryBlockReference< P_type >::data_, and blitz::simdTypes< T >::isVectorAligned().

◆ lockReferenceCount()

template<typename P_type >
bool blitz::MemoryBlockReference< P_type >::lockReferenceCount ( bool  lockingPolicy) const
inlineprotected

◆ newBlock()

◆ numReferences()

◆ operator=()

template<typename P_type >
void blitz::MemoryBlockReference< P_type >::operator= ( const MemoryBlockReference< T_type > &  )
inlineprivate

◆ removeReference()

Member Data Documentation

◆ block_

◆ data_


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