PSCF v1.1
Public Member Functions | Protected Member Functions | List of all members
Util::CArrayParam< Type > Class Template Reference

A Parameter associated with a 1D C array. More...

#include <CArrayParam.h>

Inheritance diagram for Util::CArrayParam< Type >:
Util::ArrayParam< Type > Util::Parameter Util::ParamComponent Util::Serializable Util::MpiFileIo

Public Member Functions

 CArrayParam (const char *label, Type *value, int n, bool isRequired=true)
 Constructor. More...
 
- Public Member Functions inherited from Util::ArrayParam< Type >
 ArrayParam (const char *label, int n, bool isRequired=true)
 Constructor. More...
 
virtual ~ArrayParam ()
 Destructor. More...
 
void writeParam (std::ostream &out) const
 Write an array-valued parameter to stream. More...
 
int n () const
 Get the logical array dimension. More...
 
std::string indent () const
 Return indent string for this object (string of spaces). More...
 
virtual void load (Serializable::IArchive &ar)
 Load from an archive. More...
 
virtual void save (Serializable::OArchive &ar)
 Save to an archive. More...
 
std::string label () const
 Return label string. More...
 
bool isRequired () const
 Is this an optional parameter? More...
 
bool isActive () const
 Is this parameter active? More...
 
- Public Member Functions inherited from Util::Parameter
 Parameter (const char *label, bool isRequired=true)
 Constructor. More...
 
virtual ~Parameter ()
 Destructor. More...
 
virtual void readParam (std::istream &in)
 Read a label and (if the label matches) a parameter value. More...
 
virtual void load (Serializable::IArchive &ar)
 Load from an archive. More...
 
virtual void save (Serializable::OArchive &ar)
 Save to an archive. More...
 
std::string label () const
 Return label string. More...
 
bool isRequired () const
 Is this an optional parameter? More...
 
bool isActive () const
 Is this parameter active? More...
 
- Public Member Functions inherited from Util::ParamComponent
virtual ~ParamComponent ()
 Destructor. More...
 
virtual void readParam (std::istream &in)=0
 Read parameter(s) from file. More...
 
virtual void writeParam (std::ostream &out) const =0
 Read parameter(s) to file. More...
 
virtual void load (Serializable::IArchive &ar)
 Load internal state from an archive. More...
 
virtual void save (Serializable::OArchive &ar)
 Save internal state to an archive. More...
 
virtual void resetParam ()
 Nontrivial implementation provided by ParamComposite subclass. More...
 
void setIndent (const ParamComponent &parent, bool next=true)
 Set indent level. More...
 
std::string indent () const
 Return indent string for this object (string of spaces). More...
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 Serialize this ParamComponent as a string. More...
 
- Public Member Functions inherited from Util::Serializable
virtual ~Serializable ()
 Destructor. More...
 
virtual void save (OArchive &ar)=0
 Save to an archive. More...
 
virtual void load (IArchive &ar)=0
 Load from an archive. More...
 
- Public Member Functions inherited from Util::MpiFileIo
 MpiFileIo ()
 Constructor. More...
 
 MpiFileIo (const MpiFileIo &other)
 Copy constructor. More...
 
bool isIoProcessor () const
 Can this processor do file I/O ? More...
 
void setIoCommunicator (MPI::Intracomm &communicator)
 Set the communicator. More...
 
void clearCommunicator ()
 Clear (nullify) the communicator. More...
 
bool hasIoCommunicator () const
 Does this object have an associated MPI communicator? More...
 
MPI::Intracomm & ioCommunicator () const
 Get the MPI communicator by reference. More...
 

Protected Member Functions

Type & element (int i)
 Return a reference to one element of the array (non const). More...
 
Type const & element (int i) const
 Return a reference to one element of the array (const ref). More...
 
virtual void loadValue (Serializable::IArchive &ar)
 Load bare parameter value from an archive. More...
 
virtual void saveValue (Serializable::OArchive &ar)
 Save parameter value to an archive. More...
 
virtual void bcastValue ()
 Broadcast parameter value within the ioCommunicator. More...
 
- Protected Member Functions inherited from Util::ArrayParam< Type >
virtual void readLabel (std::istream &in)
 Read parameter label from an input stream. More...
 
virtual void readValue (std::istream &in)
 Read array of element values from an input stream. More...
 
void readEndBracket (std::istream &in)
 Read a closing bracket, if necessary. More...
 
virtual Type & element (int i)=0
 Return a non-const reference to one element of the array. More...
 
virtual Type const & element (int i) const =0
 Return a non-const reference to one element of the array. More...
 
bool hasBrackets () const
 Are square brackets being used as delimiters? More...
 
virtual void readLabel (std::istream &in)
 Read and attempt to match label string. More...
 
virtual void readValue (std::istream &in)
 Read parameter value from an input stream. More...
 
virtual void loadValue (Serializable::IArchive &ar)
 Load bare parameter value from an archive. More...
 
virtual void saveValue (Serializable::OArchive &ar)
 Save parameter value to an archive. More...
 
virtual void bcastValue ()
 Broadcast parameter value within the ioCommunicator. More...
 
- Protected Member Functions inherited from Util::ParamComponent
 ParamComponent ()
 Constructor. More...
 
 ParamComponent (const ParamComponent &other)
 Copy constructor. More...
 

Additional Inherited Members

- Public Types inherited from Util::Serializable
typedef BinaryFileOArchive OArchive
 Type of output archive used by save method. More...
 
typedef BinaryFileIArchive IArchive
 Type of input archive used by load method. More...
 
- Static Public Member Functions inherited from Util::Parameter
template<class Type >
static void saveOptional (Serializable::OArchive &ar, Type &value, bool isActive)
 Save an optional parameter value to an output archive. More...
 
template<class Type >
static void saveOptionalCArray (Serializable::OArchive &ar, Type *ptr, int n, bool isActive)
 Save an optional C-array of n values to an output archive. More...
 
template<class Type >
static void saveOptionalCArray2D (Serializable::OArchive &ar, Type *ptr, int m, int n, int np, bool isActive)
 Save an optional two-dimensional C array to an output archive. More...
 
- Static Public Member Functions inherited from Util::ParamComponent
static void initStatic ()
 Initialize static echo member to false. More...
 
static void setEcho (bool echo=true)
 Enable or disable echoing for all subclasses of ParamComponent. More...
 
static bool echo ()
 Get echo parameter. More...
 
- Static Public Attributes inherited from Util::Parameter
static const int Width = 20
 Width of output field for a scalar variable. More...
 
static const int Precision = 12
 Precision for io of floating point data field. More...
 
- Protected Attributes inherited from Util::ArrayParam< Type >
Label label_
 Label object that contains parameter label string. More...
 
- Protected Attributes inherited from Util::Parameter
Label label_
 Label object that contains parameter label string. More...
 
bool isActive_
 Is this parameter active (always true if isRequired). More...
 

Detailed Description

template<class Type>
class Util::CArrayParam< Type >

A Parameter associated with a 1D C array.

Definition at line 22 of file CArrayParam.h.

Constructor & Destructor Documentation

◆ CArrayParam()

template<class Type >
Util::CArrayParam< Type >::CArrayParam ( const char *  label,
Type *  value,
int  n,
bool  isRequired = true 
)

Constructor.

Parameters
labellabel string (name of array variable)
valueassociated C array (pointer to first element)
nlogical size of array
isRequiredIs this a required parameter ?

Definition at line 93 of file CArrayParam.h.

Member Function Documentation

◆ element() [1/2]

template<class Type >
Type & Util::CArrayParam< Type >::element ( int  i)
inlineprotectedvirtual

Return a reference to one element of the array (non const).

Parameters
ielement index

Implements Util::ArrayParam< Type >.

Definition at line 50 of file CArrayParam.h.

◆ element() [2/2]

template<class Type >
Type const & Util::CArrayParam< Type >::element ( int  i) const
inlineprotectedvirtual

Return a reference to one element of the array (const ref).

Parameters
ielement index

Implements Util::ArrayParam< Type >.

Definition at line 58 of file CArrayParam.h.

◆ loadValue()

template<class Type >
void Util::CArrayParam< Type >::loadValue ( Serializable::IArchive ar)
protectedvirtual

Load bare parameter value from an archive.

Parameters
arinput archive from which to load

Reimplemented from Util::Parameter.

Definition at line 103 of file CArrayParam.h.

References Util::BinaryFileIArchive::unpack().

◆ saveValue()

template<class Type >
void Util::CArrayParam< Type >::saveValue ( Serializable::OArchive ar)
protectedvirtual

Save parameter value to an archive.

Parameters
aroutput archive to which to save

Reimplemented from Util::Parameter.

Definition at line 110 of file CArrayParam.h.

References Util::BinaryFileOArchive::pack().

◆ bcastValue()

template<class Type >
void Util::CArrayParam< Type >::bcastValue
protectedvirtual

Broadcast parameter value within the ioCommunicator.

Reimplemented from Util::Parameter.

Definition at line 118 of file CArrayParam.h.


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