class Gambit::Farray

[No description available] More…

#include <util_types.hpp>

Protected Classes

Name
structcalc_nElem
structcalc_nElem< limL, limU >
structcalc_nElem< limL, limU, _lims… >

Public Types

Name
typedef calc_nElem< lims… >nElem

Protected Types

Name
typedef mult_types< short, const short, short &, const short &, unsigned short, const unsigned short, unsigned short &, const unsigned short &, int, const int, int &, const int &, unsigned, const unsigned, unsigned &, const unsigned &, long, const long, long &, const long &, unsigned long, const unsigned long, unsigned long &, const unsigned long &, long long, const long long, long long &, const long long &, unsigned long long, const unsigned long long, unsigned long long &, const unsigned long long & >allowed_types

Public Functions

Name
Farray()
Farray(Farray< T, lims… > & in)
template <typename … Args>
enable_if_all_member< allowed_types, T &, Args… >::type::type
operator()(Args … a)
template <typename … Args>
enable_if_all_member< allowed_types, constT &, Args… >::type::type
operator()(Args … a) const
Farray< T, lims… > &operator=(const Farray< T, lims… > & orig)
Farray(const T val)
Farray< T, lims… > &operator=(const T val)

Public Attributes

Name
T[nElem::val]array

Detailed Description

template <typename T ,
int... lims>
class Gambit::Farray;

Array class that matches the memory structure and functionality of arrays in Fortran codes Syntax: Farray<[type], [lower index, dim 1], [upper index, dim 1], [alternating lower/upper indices for subsequent dimensions]> DO NOT UNDER ANY CIRCUMSTANCE add new member variables to this class! This would break the crucial memory structure.

Public Types Documentation

typedef nElem

typedef calc_nElem<lims... > Gambit::Farray< T, lims >::nElem;

Protected Types Documentation

typedef allowed_types

typedef mult_types< short, const short, short&, const short&, unsigned short, const unsigned short, unsigned short&, const unsigned short&, int, const int, int&, const int&, unsigned, const unsigned, unsigned&, const unsigned&, long, const long, long&, const long&, unsigned long, const unsigned long, unsigned long&, const unsigned long&, long long , const long long, long long&, const long long&, unsigned long long, const unsigned long long, unsigned long long&, const unsigned long long&> Gambit::Farray< T, lims >::allowed_types;

Public Functions Documentation

function Farray

inline Farray()

function Farray

inline Farray(
    Farray< T, lims... > & in
)

function operator()

template <typename ... Args>
inline enable_if_all_member< allowed_types, T &, Args... >::type::type operator()(
    Args ... a
)

function operator()

template <typename ... Args>
inline enable_if_all_member< allowed_types, constT &, Args... >::type::type operator()(
    Args ... a
) const

function operator=

inline Farray< T, lims... > & operator=(
    const Farray< T, lims... > & orig
)

function Farray

inline Farray(
    const T val
)

function operator=

inline Farray< T, lims... > & operator=(
    const T val
)

Public Attributes Documentation

variable array

T[nElem::val] array;

Updated on 2023-06-26 at 21:36:50 +0000