Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ObjexxFCL::FArray2D< T > Class Template Reference

FArray2D: Fortran-Compatible 2D Array. More...

#include <FArray2D.hh>

Inheritance diagram for ObjexxFCL::FArray2D< T >:
Inheritance graph
[legend]

Public Types

typedef Super::Base Base
 
typedef Base::Section Section
 
typedef Super::IR SIR
 
typedef DynamicIndexRange IR
 
typedef Base::value_type value_type
 
typedef Base::reference reference
 
typedef Base::const_reference const_reference
 
typedef Base::pointer pointer
 
typedef Base::const_pointer const_pointer
 
typedef Base::size_type size_type
 
typedef Base::difference_type difference_type
 
typedef Base::Value Value
 
typedef Base::Reference Reference
 
typedef Base::ConstReference ConstReference
 
typedef Base::Pointer Pointer
 
typedef Base::ConstPointer ConstPointer
 
typedef Base::Size Size
 
typedef Base::Difference Difference
 
typedef FArrayInitializer< T, ObjexxFCL::FArray2DInitializer
 
typedef Initializer::function_type InitializerFunction
 
- Public Types inherited from ObjexxFCL::FArray2< T >
typedef Super::Base Base
 
typedef Base::Section Section
 
typedef Base::IR IR
 
typedef Base::value_type value_type
 
typedef Base::reference reference
 
typedef Base::const_reference const_reference
 
typedef Base::pointer pointer
 
typedef Base::const_pointer const_pointer
 
typedef Base::size_type size_type
 
typedef Base::difference_type difference_type
 
typedef Base::Value Value
 
typedef Base::Reference Reference
 
typedef Base::ConstReference ConstReference
 
typedef Base::Pointer Pointer
 
typedef Base::ConstPointer ConstPointer
 
typedef Base::Size Size
 
typedef Base::Difference Difference
 
- Public Types inherited from ObjexxFCL::FArray< T >
typedef FArray< TBase
 
typedef FArrayTraits< TTraits
 
typedef FArraySection< TSection
 
typedef IndexRange IR
 
typedef T value_type
 
typedef Treference
 
typedef T const & const_reference
 
typedef Tpointer
 
typedef T const * const_pointer
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef T Value
 
typedef TReference
 
typedef T const & ConstReference
 
typedef TPointer
 
typedef T const * ConstPointer
 
typedef std::size_t Size
 
typedef std::ptrdiff_t Difference
 
- Public Types inherited from ObjexxFCL::ObserverMulti
typedef SetWrapper< Observer * > Observers
 

Public Member Functions

 FArray2D ()
 Default Constructor. More...
 
 FArray2D (FArray2D const &a)
 Copy Constructor. More...
 
 FArray2D (FArray2D const &a, T const &v)
 Filled Copy Constructor. Use the dimensions and other data from the array, but fill with the value given. More...
 
template<typename U >
 FArray2D (FArray2D< U > const &a)
 Copy Constructor Template. More...
 
template<typename U >
 FArray2D (FArray2< U > const &a)
 Super Constructor Template. More...
 
 FArray2D (IR const &I1_a, IR const &I2_a)
 IndexRange Constructor. More...
 
 FArray2D (IR const &I1_a, IR const &I2_a, T const &t)
 IndexRange + Initializer Value Constructor. More...
 
 FArray2D (IR const &I1_a, IR const &I2_a, InitializerFunction const &function_a)
 IndexRange + Initializer Function Constructor. More...
 
template<typename U >
 FArray2D (FArray2< U > const &a, IR const &I1_a, IR const &I2_a)
 Super + IndexRange Constructor Template. More...
 
template<typename U >
 FArray2D (FArray2< U > const &a, IR const &I1_a, IR const &I2_a, T const &t)
 Super + IndexRange + Fill Value Constructor Template. More...
 
 ~FArray2D () override
 Destructor. More...
 
FArray2Doperator= (FArray2D const &a)
 Copy Assignment. More...
 
FArray2Doperator= (Super const &a)
 Super Assignment. More...
 
template<typename U >
FArray2Doperator= (FArray2< U > const &a)
 Super Assignment Template. More...
 
template<typename U >
FArray2Doperator+= (FArray2< U > const &a)
 += Array Template More...
 
template<typename U >
FArray2Doperator*= (FArray2< U > const &a)
 *= Array Template More...
 
template<typename U >
FArray2Doperator-= (FArray2< U > const &a)
 -= Array Template More...
 
FArray2Doperator= (T const &t)
 = Value More...
 
FArray2Doperator+= (T const &t)
 += Value More...
 
FArray2Doperator-= (T const &t)
 -= Value More...
 
FArray2Doperator*= (T const &t)
 *= Value More...
 
FArray2Doperator/= (T const &t)
 /= Value More...
 
T const & operator() (int const i1, int const i2) const
 array( i1, i2 ) const More...
 
Toperator() (int const i1, int const i2)
 array( i1, i2 ) More...
 
Section const a (int const i1, int const i2) const
 Section Starting at array( i1, i2 ) More...
 
size_type index (int const i1, int const i2) const
 Linear Index. More...
 
T const & operator[] (size_type const i) const
 array[ i ] const: Linear Subscript More...
 
Toperator[] (size_type const i)
 array[ i ]: Linear Subscript More...
 
bool dimensions_initialized () const final
 Dimensions Initialized? More...
 
bool contains (int const i1, int const i2) const override
 Contains Indexed Element? More...
 
bool initializer_active () const override
 Initializer Active? More...
 
IR const & I1 () const override
 IndexRange of Dimension 1. More...
 
int l1 () const override
 Lower Index of Dimension 1. More...
 
int u1 () const override
 Upper Index of Dimension 1. More...
 
IR const & I2 () const override
 IndexRange of Dimension 2. More...
 
int l2 () const override
 Lower Index of Dimension 2. More...
 
int u2 () const override
 Upper Index of Dimension 2. More...
 
size_type size2 () const override
 Size of Dimension 2. More...
 
FArray2Dclear () override
 Clear. More...
 
FArray2Ddimension (IR const &I1_a, IR const &I2_a)
 Dimension by IndexRanges. More...
 
FArray2Ddimension (IR const &I1_a, IR const &I2_a, T const &t)
 Dimension by IndexRanges + Initializer Value. More...
 
FArray2Ddimension (IR const &I1_a, IR const &I2_a, InitializerFunction const &function_a)
 Dimension by IndexRanges + Initializer Function. More...
 
template<typename U >
FArray2Ddimension (FArray2< U > const &a)
 Dimension by Array Template. More...
 
template<typename U >
FArray2Ddimension (FArray2< U > const &a, T const &t)
 Dimension by Array + Initializer Value Template. More...
 
template<typename U >
FArray2Ddimension (FArray2< U > const &a, InitializerFunction const &function_a)
 Dimension by Array + Initializer Function Template. More...
 
FArray2Dredimension (IR const &I1_a, IR const &I2_a)
 Data-Preserving Redimension by IndexRanges. More...
 
FArray2Dredimension (IR const &I1_a, IR const &I2_a, T const &t)
 Data-Preserving Redimension by IndexRanges + Fill Value. More...
 
template<typename U >
FArray2Dredimension (FArray2< U > const &a)
 Data-Preserving Redimension by Array Template. More...
 
template<typename U >
FArray2Dredimension (FArray2< U > const &a, T const &t)
 Data-Preserving Redimension by Array + Fill Value Template. More...
 
FArray2Dinitializer (T const &t)
 Set Initializer Value. More...
 
FArray2Dinitializer (InitializerFunction const &function_a)
 Set Initializer Function. More...
 
FArray2Dinitializer_clear ()
 Clear Initializer. More...
 
FArray2Dinitialize ()
 Initialize. More...
 
FArray2Dswap (FArray2D &v)
 Swap. More...
 
void update () override
 Update. More...
 
void destructed (Subject const &) override
 Update for Destruction of a Subject. More...
 
void shift_set (int const shift_a)
 Shift Setup. More...
 
- Public Member Functions inherited from ObjexxFCL::FArray2< T >
 ~FArray2 () override
 Destructor. More...
 
FArray2operator= (FArray2 const &a)
 Copy Assignment. More...
 
template<typename U >
FArray2operator= (FArray2< U > const &a)
 Copy Assignment Template. More...
 
template<typename U >
FArray2operator+= (FArray2< U > const &a)
 += Array Template More...
 
template<typename U >
FArray2operator-= (FArray2< U > const &a)
 -= Array Template More...
 
template<typename U >
FArray2operator*= (FArray2< U > const &a)
 *= Array Template More...
 
FArray2operator= (T const &t)
 = Value More...
 
FArray2operator+= (T const &t)
 += Value More...
 
FArray2operator-= (T const &t)
 -= Value More...
 
FArray2operator*= (T const &t)
 *= Value More...
 
FArray2operator/= (T const &t)
 /= Value More...
 
T const & operator() (int const i1, int const i2) const
 array( i1, i2 ) const More...
 
Toperator() (int const i1, int const i2)
 array( i1, i2 ) More...
 
Section const a (int const i1, int const i2) const
 Const Section Starting at array( i1, i2 ) More...
 
Section a (int const i1, int const i2)
 Section Starting at array( i1, i2 ) More...
 
size_type index (int const i1, int const i2) const
 Linear Index. More...
 
template<typename U >
bool equal_dimension (FArray2< U > const &a) const
 Equal Dimension? More...
 
bool is_identity () const
 Is Identity? More...
 
bool square () const
 Square? More...
 
bool symmetric () const
 Symmetric? More...
 
size_type size1 () const
 Size of Dimension 1. More...
 
FArray2to_default () override
 Assign Default Value to all Elements. More...
 
FArray2to_identity ()
 Set to the Identity Matrix. More...
 
FArray2to_diag (T const &d)
 Set to Diagonal Matrix with Uniform Value. More...
 
FArray2set_diagonal (T const &d)
 Set Diagonal of Matrix to a Uniform Value. More...
 
FArray2transpose ()
 Transpose. More...
 
template<typename U >
FArray2right_multiply_by (FArray2< U > const &a)
 Right Multiply By Array. More...
 
template<typename U >
FArray2right_multiply_by_transpose (FArray2< U > const &a)
 Right Multiply By Transpose of Array. More...
 
virtual bool dimensions_initialized () const=0
 Dimensions Initialized? More...
 
- Public Member Functions inherited from ObjexxFCL::FArray< T >
virtual ~FArray ()
 Destructor. More...
 
FArrayoperator= (T const &t)
 = Value More...
 
FArrayoperator+= (T const &t)
 += Value More...
 
FArrayoperator-= (T const &t)
 -= Value More...
 
FArrayoperator*= (T const &t)
 *= Value More...
 
FArrayoperator/= (T const &t)
 /= Value More...
 
T const & operator[] (size_type const i) const
 array[ i ] const: Linear Subscript More...
 
Toperator[] (size_type const i)
 array[ i ]: Linear Subscript More...
 
bool active () const
 Active? More...
 
bool array_size_bounded () const
 Array Size Bounded? More...
 
bool array_size_unbounded () const
 Array Size Unbounded? More...
 
bool size_bounded () const
 Active Array Size Bounded? More...
 
bool size_unbounded () const
 Active Array Size Unbounded? More...
 
bool owner () const
 Owner? More...
 
bool proxy () const
 Proxy? More...
 
bool is_default () const
 All Elements Default Valued? More...
 
bool is_zero () const
 All Elements Zero? More...
 
bool is_uniform () const
 Uniform Valued? More...
 
bool is_uniform (T const &t) const
 Uniform Valued with Specified Value? More...
 
size_type array_size () const
 Array Size. More...
 
size_type size () const
 Active Array Size. More...
 
void zero ()
 Assign Zero to all Elements. More...
 
void to_zero ()
 Assign Zero to all Elements. More...
 
- Public Member Functions inherited from ObjexxFCL::ObserverMulti
 ~ObserverMulti () override
 Destructor. More...
 
void insert_observer (Observer &observer) const override
 Insert an Observer. More...
 
void remove_observer (Observer &observer) const override
 Remove an Observer. More...
 
bool has_observer () const override
 Has At Least One Observer? More...
 
Observers const * observers_p () const
 Observers Pointer. More...
 
Observers const & observers () const
 Observers. More...
 
void notify_destructed () const
 Notify Observers That This Subject is Being Destructed. More...
 
- Public Member Functions inherited from ObjexxFCL::Observer
virtual ~Observer ()
 Destructor. More...
 
void notify () const
 Notify Observers That This Subject Has Changed. More...
 
bool acyclic (Observer &) const
 Acyclic After Adding an Observer of This Subject? More...
 

Static Public Member Functions

static FArray2D diag (IR const &I_a, T const &d)
 Diagonal Matrix Named Constructor. More...
 
static FArray2D identity (IR const &I_a)
 Identity Matrix Named Constructor. More...
 
static size_type size_of (size_type const s1)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3, size_type const s4)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3, size_type const s4, size_type const s5)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3, size_type const s4, size_type const s5, size_type const s6)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (IR const &I1)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3, IR const &I4)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3, IR const &I4, IR const &I5)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3, IR const &I4, IR const &I5, IR const &I6)
 Array Size Product of Specified Bounded IndexRanges. More...
 

Public Attributes

Tarray_
 Pointer to data array. More...
 
size_type array_size_
 Size of data array. More...
 
Tsarray_
 Shifted pointer to data array. More...
 
int shift_
 Array shift. More...
 
size_type size_
 Size of active array. More...
 
- Public Attributes inherited from ObjexxFCL::FArray2< T >
Tarray_
 Pointer to data array. More...
 
size_type array_size_
 Size of data array. More...
 
Tsarray_
 Shifted pointer to data array. More...
 
int shift_
 Array shift. More...
 

Protected Member Functions

void dimension_assign (SIR const &I1_a, SIR const &I2_a) override
 Dimension by IndexRanges. More...
 
- Protected Member Functions inherited from ObjexxFCL::FArray2< T >
 FArray2 ()
 Default Constructor. More...
 
 FArray2 (FArray2 const &a)
 Copy Constructor. More...
 
 FArray2 (FArray2 const &a, T const &v)
 Filled Copy Constructor - use the other data from the array, but fill with the given value. More...
 
template<typename U >
 FArray2 (FArray2< U > const &a)
 Copy Constructor Template. More...
 
 FArray2 (size_type const size_a)
 Size Constructor. More...
 
 FArray2 (size_type const size_a, InitializerSentinel const &initialized)
 Size + InitializerSentinel Constructor. More...
 
 FArray2 (ProxySentinel const &proxy)
 Default Proxy Constructor. More...
 
 FArray2 (FArray2 const &a, ProxySentinel const &proxy)
 Copy Proxy Constructor. More...
 
 FArray2 (FArray2 &a, ProxySentinel const &proxy)
 Non-Const Copy Proxy Constructor. More...
 
 FArray2 (Base const &a, ProxySentinel const &proxy)
 Base Proxy Constructor. More...
 
 FArray2 (Base &a, ProxySentinel const &proxy)
 Non-Const Base Proxy Constructor. More...
 
 FArray2 (Section const &s, ProxySentinel const &proxy)
 Section Proxy Constructor. More...
 
 FArray2 (Section &s, ProxySentinel const &proxy)
 Non-Const Section Proxy Constructor. More...
 
 FArray2 (T const &t, ProxySentinel const &proxy)
 Value Proxy Constructor. More...
 
 FArray2 (T &t, ProxySentinel const &proxy)
 Non-Const Value Proxy Constructor. More...
 
void swap2DB (FArray2 &v)
 Swap. More...
 
- Protected Member Functions inherited from ObjexxFCL::FArray< T >
 FArray ()
 Default Constructor. More...
 
 FArray (FArray const &a)
 Copy Constructor. More...
 
 FArray (FArray const &a, T const &v)
 Filled Copy Constructor - use the other data from the array, but fill with the given value. More...
 
template<typename U >
 FArray (FArray< U > const &a)
 Copy Constructor Template. More...
 
 FArray (size_type const size_a)
 Size Constructor. More...
 
 FArray (size_type const size_a, InitializerSentinel const &)
 Size + InitializerSentinel Constructor. More...
 
 FArray (ProxySentinel const &)
 Default Proxy Constructor. More...
 
 FArray (FArray const &a, ProxySentinel const &)
 Array Proxy Constructor. More...
 
 FArray (FArray &a, ProxySentinel const &)
 Non-Const Array Proxy Constructor. More...
 
 FArray (Section const &s, ProxySentinel const &)
 Section Proxy Constructor. More...
 
 FArray (Section &s, ProxySentinel const &)
 Non-Const Section Proxy Constructor. More...
 
 FArray (T const &t, ProxySentinel const &)
 Value Proxy Constructor. More...
 
 FArray (T &t, ProxySentinel const &)
 Non-Const Value Proxy Constructor. More...
 
FArrayoperator= (FArray const &a)
 Copy Assignment. More...
 
template<typename U >
void operator= (FArray< U > const &a)
 Copy Assignment Template. More...
 
template<typename U >
void operator+= (FArray< U > const &a)
 += Array Template More...
 
template<typename U >
void operator-= (FArray< U > const &a)
 -= Array Template More...
 
void shift_set (int const shift_a)
 Shift Setup. More...
 
void size_set (size_type const size_a)
 Active Array Size Setup. More...
 
FArrayresize (size_type const size_a)
 Resize a Real Array. More...
 
void attach (FArray const &a)
 Attach Proxy/Argument Array to Const Array of Same Rank. More...
 
void attach (FArray &a)
 Attach Proxy/Argument Array to Array of Same Rank. More...
 
void attach (FArray const &a, int const shift_a)
 Attach Proxy/Argument Array to Const Array. More...
 
void attach (FArray &a, int const shift_a)
 Attach Proxy/Argument Array to Array. More...
 
void attach (Section const &s, int const shift_a)
 Attach Proxy/Argument Array to Const Section. More...
 
void attach (Section &s, int const shift_a)
 Attach Proxy/Argument Array to Section. More...
 
void attach (T const &t, int const shift_a)
 Attach Proxy/Argument Array to Const Value. More...
 
void attach (T &t, int const shift_a)
 Attach Proxy/Argument Array to Value. More...
 
void detach ()
 Detach Proxy/Argument Array. More...
 
void update_to (FArray const &a)
 Update Proxy Array Attachment to Const Array. More...
 
void update_to (FArray &a)
 Update Proxy Array Attachment to Array. More...
 
void swapB (FArray &v)
 Swap. More...
 
- Protected Member Functions inherited from ObjexxFCL::ObserverMulti
 ObserverMulti ()
 Default Constructor. More...
 
 ObserverMulti (ObserverMulti const &)
 Copy Constructor. More...
 
ObserverMultioperator= (ObserverMulti const &)
 Copy Assignment. More...
 
- Protected Member Functions inherited from ObjexxFCL::Observer
 Observer ()
 Default Constructor. More...
 
 Observer (Observer const &)
 Copy Constructor. More...
 
Observeroperator= (Observer const &)
 Copy Assignment. More...
 

Private Types

typedef FArray2< TSuper
 
typedef Super::real_FArray real_FArray
 
typedef Super::proxy_FArray proxy_FArray
 
typedef Super::arg_FArray arg_FArray
 
typedef internal::InitializerSentinel InitializerSentinel
 

Private Member Functions

void setup_real ()
 Setup for IndexRange Constructor. More...
 
void dimension_real ()
 Dimension by Current IndexRanges. More...
 
void insert_as_observer ()
 Insert as Observer of the IndexRanges. More...
 
void remove_as_observer ()
 Remove as Observer of the IndexRanges. More...
 

Private Attributes

IR I1_
 Dimension 1 index range. More...
 
IR I2_
 Dimension 2 index range. More...
 
Initializer initializer_
 Array initializer. More...
 

Friends

template<typename >
class FArray2D
 
class FArray2P< T >
 
class FArray2A< T >
 
template<typename U >
void swap (FArray2D< U > &a, FArray2D< U > &b)
 Swap. More...
 
FArray2D operator- (Super const &a)
 -Array More...
 
FArray2D operator+ (Super const &a, Super const &b)
 Array + Array. More...
 
FArray2D operator- (Super const &a, Super const &b)
 Array - Array. More...
 
FArray2D operator+ (Super const &a, T const &t)
 Array + Value. More...
 
FArray2D operator+ (T const &t, Super const &a)
 Value + Array. More...
 
FArray2D operator- (Super const &a, T const &t)
 Array - Value. More...
 
FArray2D operator- (T const &t, Super const &a)
 Value - Array. More...
 
FArray2D operator* (Super const &a, T const &t)
 Array * Value. More...
 
FArray2D operator* (T const &t, Super const &a)
 Value * Array. More...
 
FArray2D operator/ (Super const &a, T const &t)
 Array / Value. More...
 
template<typename U >
FArray2D< U > transposed (FArray2< U > const &a)
 Transposed. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ObjexxFCL::FArray2< T >
static size_type const npos
 Unbounded "size". More...
 
- Static Public Attributes inherited from ObjexxFCL::FArray< T >
static size_type const npos = static_cast< size_type >( -1 )
 Unbounded "size". More...
 
static size_type const max_size = npos - static_cast< size_type >( 1 )
 Max array size. More...
 
- Protected Types inherited from ObjexxFCL::FArray2< T >
typedef internal::InitializerSentinel InitializerSentinel
 
typedef internal::ProxySentinel ProxySentinel
 
- Protected Types inherited from ObjexxFCL::FArray< T >
typedef internal::InitializerSentinel InitializerSentinel
 
typedef internal::ProxySentinel ProxySentinel
 
- Static Protected Member Functions inherited from ObjexxFCL::FArray< T >
static size_type size_of (size_type const s1)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3, size_type const s4)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3, size_type const s4, size_type const s5)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (size_type const s1, size_type const s2, size_type const s3, size_type const s4, size_type const s5, size_type const s6)
 Array Size Product of Specified Bounded Dimensional Sizes. More...
 
static size_type size_of (IR const &I1)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3, IR const &I4)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3, IR const &I4, IR const &I5)
 Array Size Product of Specified Bounded IndexRanges. More...
 
static size_type size_of (IR const &I1, IR const &I2, IR const &I3, IR const &I4, IR const &I5, IR const &I6)
 Array Size Product of Specified Bounded IndexRanges. More...
 
- Protected Attributes inherited from ObjexxFCL::FArray2< T >
size_type s1_
 Dimension 1 size. More...
 
- Protected Attributes inherited from ObjexxFCL::FArray< T >
size_type array_size_
 Size of data array. More...
 
Tarray_
 Pointer to data array. More...
 
size_type size_
 Size of active array. More...
 
bool const owner_
 Owner of data array? More...
 
int shift_
 Array shift. More...
 
Tsarray_
 Shifted pointer to data array. More...
 

Detailed Description

template<typename T>
class ObjexxFCL::FArray2D< T >

FArray2D: Fortran-Compatible 2D Array.

Member Typedef Documentation

◆ arg_FArray

template<typename T >
typedef Super::arg_FArray ObjexxFCL::FArray2D< T >::arg_FArray
private

◆ Base

template<typename T >
typedef Super::Base ObjexxFCL::FArray2D< T >::Base

◆ const_pointer

template<typename T >
typedef Base::const_pointer ObjexxFCL::FArray2D< T >::const_pointer

◆ const_reference

template<typename T >
typedef Base::const_reference ObjexxFCL::FArray2D< T >::const_reference

◆ ConstPointer

template<typename T >
typedef Base::ConstPointer ObjexxFCL::FArray2D< T >::ConstPointer

◆ ConstReference

template<typename T >
typedef Base::ConstReference ObjexxFCL::FArray2D< T >::ConstReference

◆ Difference

template<typename T >
typedef Base::Difference ObjexxFCL::FArray2D< T >::Difference

◆ difference_type

template<typename T >
typedef Base::difference_type ObjexxFCL::FArray2D< T >::difference_type

◆ Initializer

◆ InitializerFunction

◆ InitializerSentinel

template<typename T >
typedef internal::InitializerSentinel ObjexxFCL::FArray2D< T >::InitializerSentinel
private

◆ IR

template<typename T >
typedef DynamicIndexRange ObjexxFCL::FArray2D< T >::IR

◆ pointer

template<typename T >
typedef Base::pointer ObjexxFCL::FArray2D< T >::pointer

◆ Pointer

template<typename T >
typedef Base::Pointer ObjexxFCL::FArray2D< T >::Pointer

◆ proxy_FArray

template<typename T >
typedef Super::proxy_FArray ObjexxFCL::FArray2D< T >::proxy_FArray
private

◆ real_FArray

template<typename T >
typedef Super::real_FArray ObjexxFCL::FArray2D< T >::real_FArray
private

◆ reference

template<typename T >
typedef Base::reference ObjexxFCL::FArray2D< T >::reference

◆ Reference

template<typename T >
typedef Base::Reference ObjexxFCL::FArray2D< T >::Reference

◆ Section

template<typename T >
typedef Base::Section ObjexxFCL::FArray2D< T >::Section

◆ SIR

template<typename T >
typedef Super::IR ObjexxFCL::FArray2D< T >::SIR

◆ Size

template<typename T >
typedef Base::Size ObjexxFCL::FArray2D< T >::Size

◆ size_type

template<typename T >
typedef Base::size_type ObjexxFCL::FArray2D< T >::size_type

◆ Super

template<typename T >
typedef FArray2< T > ObjexxFCL::FArray2D< T >::Super
private

◆ Value

template<typename T >
typedef Base::Value ObjexxFCL::FArray2D< T >::Value

◆ value_type

template<typename T >
typedef Base::value_type ObjexxFCL::FArray2D< T >::value_type

Constructor & Destructor Documentation

◆ FArray2D() [1/10]

template<typename T >
ObjexxFCL::FArray2D< T >::FArray2D ( )
inline

Default Constructor.

References ObjexxFCL::FArray2D< T >::insert_as_observer().

◆ FArray2D() [2/10]

template<typename T >
ObjexxFCL::FArray2D< T >::FArray2D ( FArray2D< T > const &  a)
inline

Copy Constructor.

References ObjexxFCL::FArray2D< T >::insert_as_observer().

◆ FArray2D() [3/10]

template<typename T >
ObjexxFCL::FArray2D< T >::FArray2D ( FArray2D< T > const &  a,
T const &  v 
)
inline

Filled Copy Constructor. Use the dimensions and other data from the array, but fill with the value given.

References ObjexxFCL::FArray2D< T >::insert_as_observer().

◆ FArray2D() [4/10]

template<typename T >
template<typename U >
ObjexxFCL::FArray2D< T >::FArray2D ( FArray2D< U > const &  a)
inlineexplicit

Copy Constructor Template.

References ObjexxFCL::FArray2D< T >::insert_as_observer().

◆ FArray2D() [5/10]

template<typename T >
template<typename U >
ObjexxFCL::FArray2D< T >::FArray2D ( FArray2< U > const &  a)
inlineexplicit

Super Constructor Template.

References ObjexxFCL::FArray2D< T >::insert_as_observer().

◆ FArray2D() [6/10]

template<typename T >
ObjexxFCL::FArray2D< T >::FArray2D ( IR const &  I1_a,
IR const &  I2_a 
)
inline

◆ FArray2D() [7/10]

template<typename T >
ObjexxFCL::FArray2D< T >::FArray2D ( IR const &  I1_a,
IR const &  I2_a,
T const &  t 
)
inline

◆ FArray2D() [8/10]

template<typename T >
ObjexxFCL::FArray2D< T >::FArray2D ( IR const &  I1_a,
IR const &  I2_a,
InitializerFunction const &  function_a 
)
inline

◆ FArray2D() [9/10]

template<typename T >
template<typename U >
ObjexxFCL::FArray2D< T >::FArray2D ( FArray2< U > const &  a,
IR const &  I1_a,
IR const &  I2_a 
)
inline

◆ FArray2D() [10/10]

template<typename T >
template<typename U >
ObjexxFCL::FArray2D< T >::FArray2D ( FArray2< U > const &  a,
IR const &  I1_a,
IR const &  I2_a,
T const &  t 
)
inline

◆ ~FArray2D()

template<typename T >
ObjexxFCL::FArray2D< T >::~FArray2D ( )
inlineoverride

Destructor.

Member Function Documentation

◆ a()

template<typename T >
Section const ObjexxFCL::FArray2D< T >::a ( int const  i1,
int const  i2 
) const
inline

◆ clear()

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::clear ( )
inlineoverridevirtual

◆ contains()

template<typename T >
bool ObjexxFCL::FArray2D< T >::contains ( int const  i1,
int const  i2 
) const
inlineoverridevirtual

◆ destructed()

template<typename T >
void ObjexxFCL::FArray2D< T >::destructed ( Subject const &  )
inlineoverridevirtual

Update for Destruction of a Subject.

Implements ObjexxFCL::Observer.

◆ diag()

template<typename T >
static FArray2D ObjexxFCL::FArray2D< T >::diag ( IR const &  I_a,
T const &  d 
)
inlinestatic

◆ dimension() [1/6]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::dimension ( FArray2< U > const &  a)
inline

◆ dimension() [2/6]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::dimension ( FArray2< U > const &  a,
InitializerFunction const &  function_a 
)
inline

◆ dimension() [3/6]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::dimension ( FArray2< U > const &  a,
T const &  t 
)
inline

◆ dimension() [4/6]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::dimension ( IR const &  I1_a,
IR const &  I2_a 
)
inline

◆ dimension() [5/6]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::dimension ( IR const &  I1_a,
IR const &  I2_a,
InitializerFunction const &  function_a 
)
inline

◆ dimension() [6/6]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::dimension ( IR const &  I1_a,
IR const &  I2_a,
T const &  t 
)
inline

◆ dimension_assign()

template<typename T >
void ObjexxFCL::FArray2D< T >::dimension_assign ( SIR const &  I1_a,
SIR const &  I2_a 
)
inlineoverrideprotectedvirtual

◆ dimension_real()

template<typename T >
void ObjexxFCL::FArray2D< T >::dimension_real ( )
inlineprivate

◆ dimensions_initialized()

template<typename T >
bool ObjexxFCL::FArray2D< T >::dimensions_initialized ( ) const
inlinefinalvirtual

◆ I1()

template<typename T >
IR const& ObjexxFCL::FArray2D< T >::I1 ( ) const
inlineoverridevirtual

◆ I2()

template<typename T >
IR const& ObjexxFCL::FArray2D< T >::I2 ( ) const
inlineoverridevirtual

◆ identity()

template<typename T >
static FArray2D ObjexxFCL::FArray2D< T >::identity ( IR const &  I_a)
inlinestatic

◆ index()

template<typename T >
size_type ObjexxFCL::FArray2D< T >::index ( int const  i1,
int const  i2 
) const
inline

◆ initialize()

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::initialize ( )
inline

◆ initializer() [1/2]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::initializer ( InitializerFunction const &  function_a)
inline

Set Initializer Function.

References ObjexxFCL::FArray2D< T >::initializer_.

◆ initializer() [2/2]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::initializer ( T const &  t)
inline

Set Initializer Value.

References ObjexxFCL::FArray2D< T >::initializer_, and predPRE::t.

◆ initializer_active()

template<typename T >
bool ObjexxFCL::FArray2D< T >::initializer_active ( ) const
inlineoverridevirtual

◆ initializer_clear()

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::initializer_clear ( )
inline

◆ insert_as_observer()

template<typename T >
void ObjexxFCL::FArray2D< T >::insert_as_observer ( )
inlineprivate

◆ l1()

template<typename T >
int ObjexxFCL::FArray2D< T >::l1 ( ) const
inlineoverridevirtual

◆ l2()

template<typename T >
int ObjexxFCL::FArray2D< T >::l2 ( ) const
inlineoverridevirtual

◆ operator()() [1/2]

template<typename T >
T& ObjexxFCL::FArray2D< T >::operator() ( int const  i1,
int const  i2 
)
inline

◆ operator()() [2/2]

template<typename T >
T const& ObjexxFCL::FArray2D< T >::operator() ( int const  i1,
int const  i2 
) const
inline

◆ operator*=() [1/2]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::operator*= ( FArray2< U > const &  a)
inline

◆ operator*=() [2/2]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator*= ( T const &  t)
inline

◆ operator+=() [1/2]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::operator+= ( FArray2< U > const &  a)
inline

◆ operator+=() [2/2]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator+= ( T const &  t)
inline

◆ operator-=() [1/2]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::operator-= ( FArray2< U > const &  a)
inline

◆ operator-=() [2/2]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator-= ( T const &  t)
inline

◆ operator/=()

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator/= ( T const &  t)
inline

◆ operator=() [1/4]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::operator= ( FArray2< U > const &  a)
inline

◆ operator=() [2/4]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator= ( FArray2D< T > const &  a)
inline

◆ operator=() [3/4]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator= ( Super const &  a)
inline

◆ operator=() [4/4]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::operator= ( T const &  t)
inline

◆ operator[]() [1/2]

template<typename T >
T& ObjexxFCL::FArray2D< T >::operator[] ( size_type const  i)
inline

◆ operator[]() [2/2]

template<typename T >
T const& ObjexxFCL::FArray2D< T >::operator[] ( size_type const  i) const
inline

array[ i ] const: Linear Subscript

References ObjexxFCL::FArray2D< T >::array_, create_a3b_hbs::i, and ObjexxFCL::FArray2D< T >::size_.

◆ redimension() [1/4]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::redimension ( FArray2< U > const &  a)
inline

Data-Preserving Redimension by Array Template.

References ObjexxFCL::FArray2D< T >::a(), and ObjexxFCL::FArray2D< T >::FArray2D.

◆ redimension() [2/4]

template<typename T >
template<typename U >
FArray2D& ObjexxFCL::FArray2D< T >::redimension ( FArray2< U > const &  a,
T const &  t 
)
inline

Data-Preserving Redimension by Array + Fill Value Template.

References ObjexxFCL::FArray2D< T >::a(), ObjexxFCL::FArray2D< T >::FArray2D, and predPRE::t.

◆ redimension() [3/4]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::redimension ( IR const &  I1_a,
IR const &  I2_a 
)
inline

Data-Preserving Redimension by IndexRanges.

References ObjexxFCL::FArray2D< T >::FArray2D.

Referenced by storeposedata().

◆ redimension() [4/4]

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::redimension ( IR const &  I1_a,
IR const &  I2_a,
T const &  t 
)
inline

Data-Preserving Redimension by IndexRanges + Fill Value.

References ObjexxFCL::FArray2D< T >::FArray2D, and predPRE::t.

◆ remove_as_observer()

template<typename T >
void ObjexxFCL::FArray2D< T >::remove_as_observer ( )
inlineprivate

◆ setup_real()

template<typename T >
void ObjexxFCL::FArray2D< T >::setup_real ( )
inlineprivate

◆ shift_set()

template<typename T >
void ObjexxFCL::FArray< T >::shift_set
inline

◆ size2()

template<typename T >
size_type ObjexxFCL::FArray2D< T >::size2 ( ) const
inlineoverridevirtual

◆ size_of() [1/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded IndexRanges.

◆ size_of() [2/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded IndexRanges.

◆ size_of() [3/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded IndexRanges.

◆ size_of() [4/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded IndexRanges.

◆ size_of() [5/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded IndexRanges.

◆ size_of() [6/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded IndexRanges.

◆ size_of() [7/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded Dimensional Sizes.

Referenced by ObjexxFCL::FArray2D< T >::dimension_real().

◆ size_of() [8/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded Dimensional Sizes.

◆ size_of() [9/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded Dimensional Sizes.

◆ size_of() [10/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded Dimensional Sizes.

◆ size_of() [11/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded Dimensional Sizes.

◆ size_of() [12/12]

template<typename T >
static size_type ObjexxFCL::FArray< T >::size_of
inlinestatic

Array Size Product of Specified Bounded Dimensional Sizes.

◆ swap()

template<typename T >
FArray2D& ObjexxFCL::FArray2D< T >::swap ( FArray2D< T > &  v)
inline

◆ u1()

template<typename T >
int ObjexxFCL::FArray2D< T >::u1 ( ) const
inlineoverridevirtual

◆ u2()

template<typename T >
int ObjexxFCL::FArray2D< T >::u2 ( ) const
inlineoverridevirtual

◆ update()

template<typename T >
void ObjexxFCL::FArray2D< T >::update ( )
inlineoverridevirtual

Friends And Related Function Documentation

◆ FArray2A< T >

template<typename T >
friend class FArray2A< T >
friend

◆ FArray2D

template<typename T >
template<typename >
friend class FArray2D
friend

◆ FArray2P< T >

template<typename T >
friend class FArray2P< T >
friend

◆ operator* [1/2]

template<typename T >
FArray2D operator* ( Super const &  a,
T const &  t 
)
friend

Array * Value.

◆ operator* [2/2]

template<typename T >
FArray2D operator* ( T const &  t,
Super const &  a 
)
friend

Value * Array.

◆ operator+ [1/3]

template<typename T >
FArray2D operator+ ( Super const &  a,
Super const &  b 
)
friend

Array + Array.

◆ operator+ [2/3]

template<typename T >
FArray2D operator+ ( Super const &  a,
T const &  t 
)
friend

Array + Value.

◆ operator+ [3/3]

template<typename T >
FArray2D operator+ ( T const &  t,
Super const &  a 
)
friend

Value + Array.

◆ operator- [1/4]

template<typename T >
FArray2D operator- ( Super const &  a)
friend

-Array

◆ operator- [2/4]

template<typename T >
FArray2D operator- ( Super const &  a,
Super const &  b 
)
friend

Array - Array.

◆ operator- [3/4]

template<typename T >
FArray2D operator- ( Super const &  a,
T const &  t 
)
friend

Array - Value.

◆ operator- [4/4]

template<typename T >
FArray2D operator- ( T const &  t,
Super const &  a 
)
friend

Value - Array.

◆ operator/

template<typename T >
FArray2D operator/ ( Super const &  a,
T const &  t 
)
friend

Array / Value.

◆ swap

template<typename T >
template<typename U >
void swap ( FArray2D< U > &  a,
FArray2D< U > &  b 
)
friend

Swap.

◆ transposed

template<typename T >
template<typename U >
FArray2D<U> transposed ( FArray2< U > const &  a)
friend

Transposed.

Member Data Documentation

◆ array_

template<typename T >
T* ObjexxFCL::FArray< T >::array_

Pointer to data array.

Referenced by ObjexxFCL::FArray2D< T >::a(), and ObjexxFCL::FArray2D< T >::operator[]().

◆ array_size_

template<typename T >
size_type ObjexxFCL::FArray< T >::array_size_

Size of data array.

Referenced by ObjexxFCL::FArray2D< T >::a().

◆ I1_

template<typename T >
IR ObjexxFCL::FArray2D< T >::I1_
private

◆ I2_

template<typename T >
IR ObjexxFCL::FArray2D< T >::I2_
private

◆ initializer_

template<typename T >
Initializer ObjexxFCL::FArray2D< T >::initializer_
private

◆ sarray_

template<typename T >
T* ObjexxFCL::FArray< T >::sarray_

Shifted pointer to data array.

Referenced by ObjexxFCL::FArray2D< T >::operator()().

◆ shift_

template<typename T >
int ObjexxFCL::FArray< T >::shift_

◆ size_

template<typename T >
size_type ObjexxFCL::FArray< T >::size_

Size of active array.

Referenced by ObjexxFCL::FArray2D< T >::operator[]().


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