SHAFFT 1.1.0-alpha
A Scalable High-dimensional Accelerated FFT Library
Loading...
Searching...
No Matches
shafft::Config1D Class Reference

RAII wrapper for 1-D configuration objects. More...

#include <shafft.hpp>

Public Member Functions

 Config1D (size_t globalSize, FFTType precision, MPI_Comm comm) noexcept
 Construct, initialize, and resolve a 1-D config.
 
 Config1D (const Config1D &)=delete
 Non-copyable.
 
Config1Doperator= (const Config1D &)=delete
 
 Config1D (Config1D &&other) noexcept
 Move constructor.
 
Config1Doperator= (Config1D &&other) noexcept
 Move assignment.
 
 ~Config1D () noexcept
 Destructor.
 
int status () const noexcept
 Check if init succeeded.
 
const shafft_1d_config_tcStruct () const noexcept
 Read-only access to the underlying C struct.
 
shafft_1d_config_tcStruct () noexcept
 Mutable access to the underlying C struct.
 
const shafft_1d_config_toperator-> () const noexcept
 Arrow-syntax access to underlying C struct (const).
 
shafft_1d_config_toperator-> () noexcept
 Arrow-syntax access to underlying C struct (mutable).
 
int resolve () noexcept
 Re-resolve configuration using stored worldComm.
 
bool isResolved () const noexcept
 Check if resolved.
 

Detailed Description

Manages the lifecycle of an shafft_1d_config_t C struct with RAII semantics. Constructor performs init+resolve in one call. Provides operator->() for direct arrow-syntax access to the underlying C struct fields.

Constructor & Destructor Documentation

◆ Config1D() [1/3]

shafft::Config1D::Config1D ( size_t  globalSize,
FFTType  precision,
MPI_Comm  comm 
)
noexcept
Parameters
globalSizeGlobal FFT length (> 0).
precisionFFT type (C2C or Z2Z).
commMPI communicator.
Exceptions
None.Check status() after construction.

◆ Config1D() [2/3]

shafft::Config1D::Config1D ( const Config1D )
delete

◆ Config1D() [3/3]

shafft::Config1D::Config1D ( Config1D &&  other)
noexcept

◆ ~Config1D()

shafft::Config1D::~Config1D ( )
noexcept

Member Function Documentation

◆ operator=() [1/2]

Config1D & shafft::Config1D::operator= ( const Config1D )
delete

◆ operator=() [2/2]

Config1D & shafft::Config1D::operator= ( Config1D &&  other)
noexcept

◆ status()

int shafft::Config1D::status ( ) const
inlinenoexcept

◆ cStruct() [1/2]

const shafft_1d_config_t & shafft::Config1D::cStruct ( ) const
inlinenoexcept

◆ cStruct() [2/2]

shafft_1d_config_t & shafft::Config1D::cStruct ( )
inlinenoexcept

◆ operator->() [1/2]

const shafft_1d_config_t * shafft::Config1D::operator-> ( ) const
inlinenoexcept

◆ operator->() [2/2]

shafft_1d_config_t * shafft::Config1D::operator-> ( )
inlinenoexcept

◆ resolve()

int shafft::Config1D::resolve ( )
noexcept

◆ isResolved()

bool shafft::Config1D::isResolved ( ) const
inlinenoexcept

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