Rosetta  2019.07
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Friends | List of all members
ObjexxFCL::FArray2< typename > Class Template Referenceabstract

FArray2: Fortran-Compatible 2D Array Abstract Base Class. More...

#include <FArray2.hh>

Inheritance diagram for ObjexxFCL::FArray2< typename >:
Inheritance graph
[legend]

Public Types

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 Member Functions

virtual ~FArray2 ()
 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...
 
virtual bool contains (int const i1, int const i2) const
 Contains Indexed Element? 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...
 
virtual IR const & I1 () const =0
 IndexRange of Dimension 1. More...
 
virtual int l1 () const =0
 Lower Index of Dimension 1. More...
 
virtual int u1 () const =0
 Upper Index of Dimension 1. More...
 
size_type size1 () const
 Size of Dimension 1. More...
 
virtual IR const & I2 () const =0
 IndexRange of Dimension 2. More...
 
virtual int l2 () const =0
 Lower Index of Dimension 2. More...
 
virtual int u2 () const =0
 Upper Index of Dimension 2. More...
 
virtual size_type size2 () const =0
 Size of Dimension 2. More...
 
FArray2clear ()
 Clear. More...
 
FArray2to_default ()
 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...
 
- 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...
 
virtual bool dimensions_initialized () const =0
 Dimensions Initialized? More...
 
virtual bool initializer_active () const =0
 Initializer Active? 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...
 

Protected Types

typedef
internal::InitializerSentinel 
InitializerSentinel
 
typedef internal::ProxySentinel ProxySentinel
 
- Protected Types inherited from ObjexxFCL::FArray< T >
typedef
internal::InitializerSentinel 
InitializerSentinel
 
typedef internal::ProxySentinel ProxySentinel
 

Protected Member Functions

 FArray2 ()
 Default Constructor. More...
 
 FArray2 (FArray2 const &a)
 Copy Constructor. 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...
 
virtual void dimension_assign (IR const &I1_a, IR const &I2_a)=0
 Dimension by IndexRanges. 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< 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...
 
void operator= (FArray< U > const &a)
 Copy Assignment Template. More...
 
void operator+= (FArray< U > const &a)
 += Array Template More...
 
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 Attributes

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...
 

Private Types

typedef FArray< TSuper
 
typedef FArray2D< Treal_FArray
 
typedef FArray2P< Tproxy_FArray
 
typedef FArray2A< Targ_FArray
 

Friends

template<typename >
class FArray2
 
template<typename >
class FArray2D
 
template<typename >
class FArray2P
 
template<typename >
class FArray2A
 
template<typename >
class KeyFArray2D
 
bool operator== (FArray2 const &a, FArray2 const &b)
 FArray2 == FArray2. More...
 
bool operator!= (FArray2 const &a, FArray2 const &b)
 FArray2 != FArray2. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ObjexxFCL::FArray< T >
static size_type const npos
 Unbounded "size". More...
 
static size_type const max_size
 Max array size. More...
 
- 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...
 

Detailed Description

template<typename>
class ObjexxFCL::FArray2< typename >

FArray2: Fortran-Compatible 2D Array Abstract Base Class.

Member Typedef Documentation

template<typename >
typedef FArray2A< T > ObjexxFCL::FArray2< typename >::arg_FArray
private
template<typename >
typedef Super::Base ObjexxFCL::FArray2< typename >::Base
template<typename >
typedef Base::const_pointer ObjexxFCL::FArray2< typename >::const_pointer
template<typename >
typedef Base::ConstPointer ObjexxFCL::FArray2< typename >::ConstPointer
template<typename >
typedef Base::Difference ObjexxFCL::FArray2< typename >::Difference
template<typename >
typedef Base::IR ObjexxFCL::FArray2< typename >::IR
template<typename >
typedef Base::pointer ObjexxFCL::FArray2< typename >::pointer
template<typename >
typedef Base::Pointer ObjexxFCL::FArray2< typename >::Pointer
template<typename >
typedef FArray2P< T > ObjexxFCL::FArray2< typename >::proxy_FArray
private
template<typename >
typedef internal::ProxySentinel ObjexxFCL::FArray2< typename >::ProxySentinel
protected
template<typename >
typedef FArray2D< T > ObjexxFCL::FArray2< typename >::real_FArray
private
template<typename >
typedef Base::reference ObjexxFCL::FArray2< typename >::reference
template<typename >
typedef Base::Reference ObjexxFCL::FArray2< typename >::Reference
template<typename >
typedef Base::Section ObjexxFCL::FArray2< typename >::Section
template<typename >
typedef Base::Size ObjexxFCL::FArray2< typename >::Size
template<typename >
typedef Base::size_type ObjexxFCL::FArray2< typename >::size_type
template<typename >
typedef FArray< T > ObjexxFCL::FArray2< typename >::Super
private
template<typename >
typedef Base::Value ObjexxFCL::FArray2< typename >::Value
template<typename >
typedef Base::value_type ObjexxFCL::FArray2< typename >::value_type

Constructor & Destructor Documentation

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( )
inlineprotected

Default Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( FArray2< typename > const &  a)
inlineprotected

Copy Constructor.

template<typename >
template<typename U >
ObjexxFCL::FArray2< typename >::FArray2 ( FArray2< U > const &  a)
inlineexplicitprotected

Copy Constructor Template.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( size_type const  size_a)
inlineexplicitprotected

Size Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( size_type const  size_a,
InitializerSentinel const &  initialized 
)
inlineprotected

Size + InitializerSentinel Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( ProxySentinel const &  proxy)
inlineprotected

Default Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( FArray2< typename > const &  a,
ProxySentinel const &  proxy 
)
inlineprotected

Copy Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( FArray2< typename > &  a,
ProxySentinel const &  proxy 
)
inlineprotected

Non-Const Copy Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( Base const &  a,
ProxySentinel const &  proxy 
)
inlineprotected

Base Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( Base a,
ProxySentinel const &  proxy 
)
inlineprotected

Non-Const Base Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( Section const &  s,
ProxySentinel const &  proxy 
)
inlineprotected

Section Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( Section s,
ProxySentinel const &  proxy 
)
inlineprotected

Non-Const Section Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( T const &  t,
ProxySentinel const &  proxy 
)
inlineprotected

Value Proxy Constructor.

template<typename >
ObjexxFCL::FArray2< typename >::FArray2 ( T t,
ProxySentinel const &  proxy 
)
inlineprotected

Non-Const Value Proxy Constructor.

template<typename >
virtual ObjexxFCL::FArray2< typename >::~FArray2 ( )
inlinevirtual

Destructor.

Member Function Documentation

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

Const Section Starting at array( i1, i2 )

Referenced by ObjexxFCL::FArray2< T >::operator*=(), and ObjexxFCL::FArray2< T >::right_multiply_by_transpose().

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

Section Starting at array( i1, i2 )

template<typename >
FArray2& ObjexxFCL::FArray2< typename >::clear ( )
inlinevirtual
template<typename >
virtual bool ObjexxFCL::FArray2< typename >::contains ( int const  i1,
int const  i2 
) const
inlinevirtual
template<typename >
virtual void ObjexxFCL::FArray2< typename >::dimension_assign ( IR const &  I1_a,
IR const &  I2_a 
)
protectedpure virtual
template<typename >
template<typename U >
bool ObjexxFCL::FArray2< typename >::equal_dimension ( FArray2< U > const &  a) const
inline
template<typename >
virtual IR const& ObjexxFCL::FArray2< typename >::I1 ( ) const
pure virtual
template<typename >
virtual IR const& ObjexxFCL::FArray2< typename >::I2 ( ) const
pure virtual
template<typename >
size_type ObjexxFCL::FArray2< typename >::index ( int const  i1,
int const  i2 
) const
inline

Linear Index.

template<typename >
bool ObjexxFCL::FArray2< typename >::is_identity ( ) const
inline

Is Identity?

template<typename >
virtual int ObjexxFCL::FArray2< typename >::l1 ( ) const
pure virtual
template<typename >
virtual int ObjexxFCL::FArray2< typename >::l2 ( ) const
pure virtual
template<typename >
T const& ObjexxFCL::FArray2< typename >::operator() ( int const  i1,
int const  i2 
) const
inline

array( i1, i2 ) const

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

array( i1, i2 )

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

*= Array Template

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

*= Value

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

+= Array Template

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

+= Value

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

-= Array Template

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

-= Value

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

/= Value

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

Copy Assignment.

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

Copy Assignment Template.

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

= Value

template<typename >
template<typename U >
FArray2& ObjexxFCL::FArray2< typename >::right_multiply_by ( FArray2< U > const &  a)
inline

Right Multiply By Array.

template<typename >
template<typename U >
FArray2& ObjexxFCL::FArray2< typename >::right_multiply_by_transpose ( FArray2< U > const &  a)
inline

Right Multiply By Transpose of Array.

template<typename >
FArray2& ObjexxFCL::FArray2< typename >::set_diagonal ( T const &  d)
inline

Set Diagonal of Matrix to a Uniform Value.

template<typename >
size_type ObjexxFCL::FArray2< typename >::size1 ( ) const
inline
template<typename >
virtual size_type ObjexxFCL::FArray2< typename >::size2 ( ) const
pure virtual
template<typename >
bool ObjexxFCL::FArray2< typename >::square ( ) const
inline
template<typename >
void ObjexxFCL::FArray2< typename >::swap2DB ( FArray2< typename > &  v)
inlineprotected

Swap.

template<typename >
bool ObjexxFCL::FArray2< typename >::symmetric ( ) const
inline

Symmetric?

template<typename >
FArray2& ObjexxFCL::FArray2< typename >::to_default ( )
inlinevirtual

Assign Default Value to all Elements.

Reimplemented from ObjexxFCL::FArray< T >.

template<typename >
FArray2& ObjexxFCL::FArray2< typename >::to_diag ( T const &  d)
inline

Set to Diagonal Matrix with Uniform Value.

template<typename >
FArray2& ObjexxFCL::FArray2< typename >::to_identity ( )
inline

Set to the Identity Matrix.

template<typename >
FArray2& ObjexxFCL::FArray2< typename >::transpose ( )
inline

Transpose.

template<typename >
virtual int ObjexxFCL::FArray2< typename >::u1 ( ) const
pure virtual
template<typename >
virtual int ObjexxFCL::FArray2< typename >::u2 ( ) const
pure virtual

Friends And Related Function Documentation

template<typename >
template<typename >
friend class FArray2
friend
template<typename >
template<typename >
friend class FArray2A
friend
template<typename >
template<typename >
friend class FArray2D
friend
template<typename >
template<typename >
friend class FArray2P
friend
template<typename >
template<typename >
friend class KeyFArray2D
friend
template<typename >
bool operator!= ( FArray2< typename > const &  a,
FArray2< typename > const &  b 
)
friend
template<typename >
bool operator== ( FArray2< typename > const &  a,
FArray2< typename > const &  b 
)
friend

Member Data Documentation

template<typename >
size_type ObjexxFCL::FArray2< typename >::s1_
protected

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