FTransform::PlanAgent< Library > Class Template Reference

Template virtual base class of FFT library agents. More...

#include <FTransformAgent.h>

Inheritance diagram for FTransform::PlanAgent< Library >:
FTransform::Agent Reference::Able Reference::HeapTracked

Public Member Functions

 PlanAgent (const std::string &name, normalization norm)
 Default constructor.
 
Library::Plan * get_plan (size_t nfft, type call)
 Return an appropriate plan from this library.
 
Library::Plan2 * get_plan2 (size_t nx, size_t ny, type call)
 Return an appropriate two-dimensional FFT plan from this library.
 
void clean_plans ()
 Clean up the plans for this library.
 
- Public Member Functions inherited from Reference::Able
 Able ()
 Default constructor.
 
 Able (const Able &)
 Copy constructor.
 
Ableoperator= (const Able &)
 Assignment operator.
 
virtual ~Able ()
 Destructor.
 
unsigned get_reference_count () const
 Returns the number of references there are to this.
 
- Public Member Functions inherited from Reference::HeapTracked
 HeapTracked ()
 Default constructor.
 
 HeapTracked (const HeapTracked &)
 Copy constructor.
 
HeapTrackedoperator= (const HeapTracked &)
 Assignment operator.
 
virtual ~HeapTracked ()
 Destructor.
 
bool __is_on_heap () const
 Return true if this instance is found in heap addresses.
 

Static Public Member Functions

static void enlist ()
 Add an instance of this class to the Agent::libraries attribute.
 
- Static Public Member Functions inherited from FTransform::Agent
static unsigned get_num_libraries ()
 Get the number of available libraries.
 
static std::string get_library_name (unsigned i)
 Get the name of the ith available library.
 
static void set_library (const std::string &name)
 Set the current library by name. More...
 
- Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 Returns the current number instances in existence.
 
- Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 Records the addresses of new instances allocated on the heap.
 
static void operator delete (void *location, void *ptr)
 Placement delete overload to match the placement new overload.
 
static void operator delete (void *location)
 Regular delete overload.
 
static size_t get_heap_queue_size ()
 Return the number of heap addresses awaiting processing.
 

Protected Attributes

std::vector< Reference::To< typename Library::Plan > > plans
 The one-dimensional plans managed by the agent for this library.
 
std::vector< Reference::To< typename Library::Plan2 > > plans2
 The two-dimensional plans managed by the agent for this library.
 

Additional Inherited Members

- Public Attributes inherited from FTransform::Agent
std::string name
 Name of the transform library.
 
normalization norm
 The normalization type.
 
- Static Public Attributes inherited from FTransform::Agent
static Reference::To< Agentcurrent
 The currently installed agent.
 
static ThreadContextcontext = 0
 For use in multithreaded programs.
 
- Protected Member Functions inherited from FTransform::Agent
void add ()
 Add a pointer to this instance to the libraries attribute.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 Add the address of a reference to this object. More...
 
void __dereference (bool auto_delete=true) const
 Remove the address of a reference to this object. More...
 

Detailed Description

template<class Library>
class FTransform::PlanAgent< Library >

Template virtual base class of FFT library agents.

To use this template, the Library class must have nested classes named Plan, Plan2, and Agent


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

Generated using doxygen 1.8.17