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

Protected Member Functions

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

Additional Inherited Members

Public Types inherited from Util::Serializable
typedef BinaryFileOArchive OArchive
 Type of output archive used by save method.
typedef BinaryFileIArchive IArchive
 Type of input archive used by load method.
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.
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.
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.
Static Public Member Functions inherited from Util::ParamComponent
static void initStatic ()
 Initialize static echo member to false.
static void setEcho (bool echo=true)
 Enable or disable echoing for all subclasses of ParamComponent.
static bool echo ()
 Get echo parameter.
Static Public Attributes inherited from Util::Parameter
static const int Width = 20
 Width of output field for a scalar variable.
static const int Precision = 12
 Precision for io of floating point data field.
Protected Attributes inherited from Util::ArrayParam< Type >
Label label_
 Label object that contains parameter label string.
Protected Attributes inherited from Util::Parameter
Label label_
 Label object that contains parameter label string.
bool isActive_
 Is this parameter active (always true if isRequired).

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.

References Util::ArrayParam< Type >::ArrayParam(), Util::ArrayParam< Type >::isRequired(), Util::ArrayParam< Type >::label(), and Util::ArrayParam< Type >::n().

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::ArrayParam< Type >::n(), and 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::ArrayParam< Type >::n(), and Util::BinaryFileOArchive::pack().


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