Rosetta  2020.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ObjexxFCL::DynamicIndexRange Class Reference

DynamicIndexRange: Dynamic Index Range. More...

#include <DynamicIndexRange.hh>

Inheritance diagram for ObjexxFCL::DynamicIndexRange:
Inheritance graph
[legend]

Public Types

typedef DimensionExpression Expression
 
- Public Types inherited from ObjexxFCL::IndexRange
typedef std::size_t size_type
 
typedef std::size_t Size
 

Public Member Functions

 DynamicIndexRange ()
 Default Constructor. More...
 
 DynamicIndexRange (DynamicIndexRange const &I)
 Copy Constructor. More...
 
 DynamicIndexRange (IndexRange const &I)
 IndexRange Constructor. More...
 
 DynamicIndexRange (int const u_a)
 Upper Index Constructor. More...
 
 DynamicIndexRange (Star const &str)
 Unbounded Upper Index Constructor. More...
 
 DynamicIndexRange (Dimension const &u_dim_a)
 Upper Dimension Constructor. More...
 
 DynamicIndexRange (Expression const &u_exp_a)
 Upper Expression Constructor. More...
 
 DynamicIndexRange (int const l_a, int const u_a)
 Index Range Constructor. More...
 
 DynamicIndexRange (Dimension const &l_dim_a, Dimension const &u_dim_a)
 Dimension Range Constructor. More...
 
 DynamicIndexRange (Expression const &l_exp_a, Expression const &u_exp_a)
 Expression Range Constructor. More...
 
 DynamicIndexRange (int const l_a, Dimension const &u_dim_a)
 Index and Dimension Constructor. More...
 
 DynamicIndexRange (Dimension const &l_dim_a, int const u_a)
 Dimension and Index Constructor. More...
 
 DynamicIndexRange (int const l_a, Expression const &u_exp_a)
 Index and Expression Constructor. More...
 
 DynamicIndexRange (Expression const &l_exp_a, int const u_a)
 Expression and Index Constructor. More...
 
 DynamicIndexRange (Dimension const &l_dim_a, Expression const &u_exp_a)
 Dimension and Expression Constructor. More...
 
 DynamicIndexRange (Expression const &l_exp_a, Dimension const &u_dim_a)
 Expression and Dimension Constructor. More...
 
 DynamicIndexRange (int const l_a, Star const &str)
 Index and Unbounded Upper Index Constructor. More...
 
 DynamicIndexRange (Dimension const &l_dim_a, Star const &star)
 Dimension and Unbounded Upper Index Constructor. More...
 
 DynamicIndexRange (Expression const &l_exp_a, Star const &star)
 Expression and Unbounded Upper Index Constructor. More...
 
 ~DynamicIndexRange () override
 Destructor. More...
 
DynamicIndexRangeoperator= (DynamicIndexRange const &I)
 Copy Assignment. More...
 
DynamicIndexRangeoperator= (IndexRange const &I)
 IndexRange Assignment. More...
 
DynamicIndexRangeoperator= (int const u_a) override
 Upper Index Assignment. More...
 
DynamicIndexRangeoperator= (Star const &str) override
 Unbounded Upper Index Assignment. More...
 
DynamicIndexRangeoperator= (Dimension const &u_dim_a)
 Upper Dimension Assignment. More...
 
DynamicIndexRangeoperator= (Expression const &u_exp_a)
 Upper Expression Assignment. More...
 
DynamicIndexRangeassign (DynamicIndexRange const &I)
 DynamicIndexRange Assignment. More...
 
DynamicIndexRangeassign (IndexRange const &I)
 IndexRange Assignment. More...
 
DynamicIndexRangeassign (int const u_a) override
 Upper Index Assignment. More...
 
DynamicIndexRangeassign (Star const &str) override
 Unbounded Upper Index Assignment. More...
 
DynamicIndexRangeassign (Dimension const &u_dim_a)
 Upper Dimension Assignment. More...
 
DynamicIndexRangeassign (Expression const &u_exp_a)
 Upper Expression Assignment. More...
 
DynamicIndexRangeassign (int const l_a, int const u_a) override
 Index Range Assignment. More...
 
DynamicIndexRangeassign (Dimension const &l_dim_a, Dimension const &u_dim_a)
 Dimension Range Assignment. More...
 
DynamicIndexRangeassign (Expression const &l_exp_a, Expression const &u_exp_a)
 Expression Range Assignment. More...
 
DynamicIndexRangeassign (int const l_a, Dimension const &u_dim_a)
 Index and Dimension Assignment. More...
 
DynamicIndexRangeassign (Dimension const &l_dim_a, int const u_a)
 Dimension and Index Assignment. More...
 
DynamicIndexRangeassign (int const l_a, Expression const &u_exp_a)
 Index and Expression Assignment. More...
 
DynamicIndexRangeassign (Expression const &l_exp_a, int const u_a)
 Expression and Index Assignment. More...
 
DynamicIndexRangeassign (Dimension const &l_dim_a, Expression const &u_exp_a)
 Dimension and Expression Assignment. More...
 
DynamicIndexRangeassign (Expression const &l_exp_a, Dimension const &u_dim_a)
 Expression and Dimension Assignment. More...
 
DynamicIndexRangeassign (int const l_a, Star const &str) override
 Index and Unbounded Upper Index Assignment. More...
 
DynamicIndexRangeassign (Dimension const &l_dim_a, Star const &star)
 Dimension and Unbounded Upper Index Assignment. More...
 
DynamicIndexRangeassign (Expression const &l_exp_a, Star const &star)
 Expression and Unbounded Upper Index Assignment. More...
 
DynamicIndexRangeassign_no_notify (DynamicIndexRange const &I)
 DynamicIndexRange Assignment Without Notification. More...
 
DynamicIndexRangeassign_no_notify (IndexRange const &I)
 IndexRange Assignment Without Notification. More...
 
DynamicIndexRangeassign_no_notify (int const l_a, Star const &str)
 Index and Unbounded Upper Index Assignment Without Notification. More...
 
bool initialized () const override
 Initialized? More...
 
bool l_initialized () const override
 Lower Initialized? More...
 
bool u_initialized () const override
 Upper Initialized? More...
 
bool legal () const override
 Legal? More...
 
bool bounded () const override
 Bounded? More...
 
bool unbounded () const override
 Unbounded? More...
 
bool not_unbounded () const override
 Not Unbounded? More...
 
bool positive () const override
 Bounded with Positive Size? More...
 
bool contains (int const i) const override
 Contains an Index? More...
 
bool contains (IndexRange const &I) const override
 Contains Another IndexRange? More...
 
bool intersects (IndexRange const &I) const override
 Intersects Another IndexRange? More...
 
DynamicIndexRangel (int const l_a) override
 Lower Index Set. More...
 
DynamicIndexRangel (Dimension const &l_dim_a)
 Lower Dimension Set. More...
 
DynamicIndexRangel (Expression const &l_exp_a)
 Lower Expression Set. More...
 
DynamicIndexRangel_no_notify (int const l_a)
 Lower Index Set Without Notification. More...
 
DynamicIndexRangel_no_notify (Dimension const &l_dim_a)
 Lower Dimension Set Without Notification. More...
 
DynamicIndexRangel_no_notify (Expression const &l_exp_a)
 Lower Expression Set Without Notification. More...
 
DynamicIndexRangeu (int const u_a) override
 Upper Index Set. More...
 
DynamicIndexRangeu (Star const &star) override
 Unbounded Upper Index Set. More...
 
DynamicIndexRangeu (Dimension const &u_dim_a)
 Upper Dimension Set. More...
 
DynamicIndexRangeu (Expression const &u_exp_a)
 Upper Expression Set. More...
 
DynamicIndexRangeu_no_notify (int const u_a)
 Upper Index Set Without Notification. More...
 
DynamicIndexRangeu_no_notify (Star const &star)
 Unbounded Upper Index Set Without Notification. More...
 
DynamicIndexRangeu_no_notify (Dimension const &u_dim_a)
 Upper Dimension Set Without Notification. More...
 
DynamicIndexRangeu_no_notify (Expression const &u_exp_a)
 Upper Expression Set Without Notification. More...
 
DynamicIndexRangecontain (int const i) override
 Expand to Contain an Index. More...
 
DynamicIndexRangecontain_nic (int const i)
 Expand to Contain an Index and Notify If Changed. More...
 
DynamicIndexRangecontain (IndexRange const &I) override
 Expand to Contain Another IndexRange. More...
 
DynamicIndexRangecontain_nic (IndexRange const &I)
 Expand to Contain Another IndexRange and Notify If Changed. More...
 
DynamicIndexRangeintersect (IndexRange const &I) override
 Intersect With Another IndexRange. More...
 
DynamicIndexRangeintersect_nic (IndexRange const &I)
 Intersect With Another IndexRange and Notify If Changed. More...
 
DynamicIndexRangeclear () override
 Clear. More...
 
DynamicIndexRangeclear_no_notify ()
 Clear Without Notification. More...
 
DynamicIndexRangeswap (DynamicIndexRange &I)
 Swap. More...
 
DynamicIndexRangeswap_no_notify (DynamicIndexRange &I)
 Swap Without Notification. More...
 
void update () override
 Update. More...
 
void destructed (Subject const &) override
 Update for Destruction of a Subject. More...
 
- Public Member Functions inherited from ObjexxFCL::IndexRange
virtual ~IndexRange ()
 Destructor. More...
 
bool bounded_value () const
 Bounded? More...
 
bool unbounded_value () const
 Unbounded? More...
 
bool positive_value () const
 Bounded with Positive Size? More...
 
int l () const
 Lower Index. More...
 
int lz () const
 Lower Index (Zero if Uninitialized) More...
 
int u () const
 Upper Index. More...
 
int uz () const
 Upper Index (Zero if Uninitialized) More...
 
size_type size () const
 Size. More...
 
int offset (int const i) const
 Offset of an Index. More...
 
- Public Member Functions inherited from ObjexxFCL::ObserverSingle
 ~ObserverSingle () 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...
 
void notify_destructed () const
 Notify Observers That This Subject is Being Destructed. More...
 
Observerobserver_p () const
 Observer. 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...
 

Private Types

typedef IndexRange Super
 

Private Member Functions

bool legal_dynamic () const
 Legal DynamicIndexRange? More...
 
void size_dynamic ()
 Set Size to Zero if Uninitialized. More...
 
Dimensionl_dim_clone () const override
 Lower Dimension Clone. More...
 
Dimensionu_dim_clone () const override
 Upper Dimension Clone. More...
 
void insert_as_observer ()
 Insert as Observer of the Dimensions. More...
 
void l_insert_as_observer ()
 Insert as Observer of the Lower Dimension. More...
 
void u_insert_as_observer ()
 Insert as Observer of the Upper Dimension. More...
 
void remove_as_observer ()
 Remove as Observer of the Dimensions. More...
 

Private Attributes

Dimensionl_dim_p_
 Lower Dimension pointer (0 iff no Dimension) More...
 
Dimensionu_dim_p_
 Upper Dimension pointer (0 iff no Dimension) More...
 

Friends

void swap (DynamicIndexRange &a, DynamicIndexRange &b)
 Swap. More...
 
void swap_no_notify (DynamicIndexRange &a, DynamicIndexRange &b)
 Swap. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ObjexxFCL::IndexRange
static size_type const npos = static_cast< size_type >( -1 )
 
static int const l_min = -( static_cast< int >( ( static_cast< unsigned int >( -1 ) / 2u ) ) - 1 )
 
static int const u_max = static_cast< int >( ( static_cast< unsigned int >( -1 ) / 2u ) )
 
- Protected Member Functions inherited from ObjexxFCL::IndexRange
 IndexRange ()
 Default Constructor. More...
 
 IndexRange (IndexRange const &I)
 Copy Constructor. More...
 
 IndexRange (int const u_a)
 Upper Index Constructor. More...
 
 IndexRange (Star const &)
 Unbounded Upper Index Constructor. More...
 
 IndexRange (int const l_a, int const u_a)
 Index Range Constructor. More...
 
 IndexRange (int const l_a, Star const &)
 Index and Unbounded Upper Index Constructor. More...
 
IndexRangeoperator= (IndexRange const &I)
 Copy Assignment. More...
 
bool legal_static () const
 Legal Static Range? More...
 
void swap (IndexRange &I)
 Swap. More...
 
- Protected Member Functions inherited from ObjexxFCL::ObserverSingle
 ObserverSingle ()
 Default Constructor. More...
 
 ObserverSingle (ObserverSingle const &)
 Copy Constructor. More...
 
ObserverSingleoperator= (ObserverSingle 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...
 

Detailed Description

DynamicIndexRange: Dynamic Index Range.

Remarks
  • Initialized unless an active Dimension is uninitialized
  • Uninitialized range has ( size == 0 ) and its range values should not be accessed
  • Zero-size range is indicated by ( l - 1 == u ) and ( size == 0 )
  • Upper-unbounded range is indicated by ( l - 2 == u ) and ( size == npos )
  • Legal ranges have ( l - 2 <= u ) with l and u in their allowed ranges

Member Typedef Documentation

Constructor & Destructor Documentation

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( )
inline

Default Constructor.

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( DynamicIndexRange const &  I)
inline

Copy Constructor.

References insert_as_observer(), and legal_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( IndexRange const &  I)
inline

IndexRange Constructor.

References insert_as_observer(), and legal_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( int const  u_a)
inline

Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Star const &  str)
inline

Unbounded Upper Index Constructor.

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Dimension const &  u_dim_a)
inline

Upper Dimension Constructor.

References legal_dynamic(), size_dynamic(), and u_insert_as_observer().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Expression const &  u_exp_a)
inline

Upper Expression Constructor.

References legal_dynamic(), size_dynamic(), and u_insert_as_observer().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( int const  l_a,
int const  u_a 
)
inline

Index Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Dimension const &  l_dim_a,
Dimension const &  u_dim_a 
)
inline

Dimension Range Constructor.

References insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Expression const &  l_exp_a,
Expression const &  u_exp_a 
)
inline

Expression Range Constructor.

References insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( int const  l_a,
Dimension const &  u_dim_a 
)
inline

Index and Dimension Constructor.

References legal_dynamic(), size_dynamic(), and u_insert_as_observer().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Dimension const &  l_dim_a,
int const  u_a 
)
inline

Dimension and Index Constructor.

References l_insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( int const  l_a,
Expression const &  u_exp_a 
)
inline

Index and Expression Constructor.

References legal_dynamic(), size_dynamic(), and u_insert_as_observer().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Expression const &  l_exp_a,
int const  u_a 
)
inline

Expression and Index Constructor.

References l_insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Dimension const &  l_dim_a,
Expression const &  u_exp_a 
)
inline

Dimension and Expression Constructor.

References insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Expression const &  l_exp_a,
Dimension const &  u_dim_a 
)
inline

Expression and Dimension Constructor.

References insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( int const  l_a,
Star const &  str 
)
inline

Index and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Dimension const &  l_dim_a,
Star const &  star 
)

Dimension and Unbounded Upper Index Constructor.

References insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::DynamicIndexRange ( Expression const &  l_exp_a,
Star const &  star 
)

Expression and Unbounded Upper Index Constructor.

References insert_as_observer(), legal_dynamic(), and size_dynamic().

ObjexxFCL::DynamicIndexRange::~DynamicIndexRange ( )
inlineoverride

Destructor.

References l_dim_p_, and u_dim_p_.

Member Function Documentation

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( DynamicIndexRange const &  I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( IndexRange const &  I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( int const  u_a)
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Star const &  str)
inlineoverridevirtual

Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References l_dim_p_, ObjexxFCL::Observer::notify(), ObjexxFCL::IndexRange::operator=(), and u_dim_p_.

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Dimension const &  u_dim_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Expression const &  u_exp_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( int const  l_a,
int const  u_a 
)
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Dimension const &  l_dim_a,
Dimension const &  u_dim_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Expression const &  l_exp_a,
Expression const &  u_exp_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( int const  l_a,
Dimension const &  u_dim_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Dimension const &  l_dim_a,
int const  u_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( int const  l_a,
Expression const &  u_exp_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Expression const &  l_exp_a,
int const  u_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Dimension const &  l_dim_a,
Expression const &  u_exp_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( Expression const &  l_exp_a,
Dimension const &  u_dim_a 
)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign ( int const  l_a,
Star const &  str 
)
inlineoverridevirtual

Index and Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::assign(), l_dim_p_, ObjexxFCL::IndexRange::legal_static(), ObjexxFCL::Observer::notify(), and u_dim_p_.

DynamicIndexRange & ObjexxFCL::DynamicIndexRange::assign ( Dimension const &  l_dim_a,
Star const &  star 
)
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::assign ( Expression const &  l_exp_a,
Star const &  star 
)
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign_no_notify ( DynamicIndexRange const &  I)
inline

DynamicIndexRange Assignment Without Notification.

References l_dim_clone(), l_dim_p_, l_insert_as_observer(), legal_dynamic(), ObjexxFCL::IndexRange::operator=(), u_dim_clone(), u_dim_p_, and u_insert_as_observer().

Referenced by contain(), ObjexxFCL::FArray1D< double >::dimension(), ObjexxFCL::KeyFArray1D< typename >::dimension(), ObjexxFCL::FArray2D< double >::dimension(), ObjexxFCL::KeyFArray2D< typename >::dimension(), ObjexxFCL::FArray3D< typename >::dimension(), ObjexxFCL::KeyFArray3D< typename >::dimension(), ObjexxFCL::FArray4D< typename >::dimension(), ObjexxFCL::KeyFArray4D< typename >::dimension(), ObjexxFCL::FArray5D< typename >::dimension(), ObjexxFCL::KeyFArray5D< typename >::dimension(), ObjexxFCL::FArray1P< typename >::dimension(), ObjexxFCL::FArray6D< typename >::dimension(), ObjexxFCL::KeyFArray6D< typename >::dimension(), ObjexxFCL::FArray2P< typename >::dimension(), ObjexxFCL::FArray3P< typename >::dimension(), ObjexxFCL::FArray4P< typename >::dimension(), ObjexxFCL::FArray5P< typename >::dimension(), ObjexxFCL::FArray6P< typename >::dimension(), ObjexxFCL::FArray1D< double >::dimension_assign(), ObjexxFCL::KeyFArray1D< typename >::dimension_assign(), ObjexxFCL::FArray2D< double >::dimension_assign(), ObjexxFCL::FArray3D< typename >::dimension_assign(), ObjexxFCL::KeyFArray3D< typename >::dimension_assign(), ObjexxFCL::KeyFArray2D< typename >::dimension_assign(), ObjexxFCL::FArray1P< typename >::dimension_assign(), ObjexxFCL::FArray4D< typename >::dimension_assign(), ObjexxFCL::KeyFArray4D< typename >::dimension_assign(), ObjexxFCL::FArray2P< typename >::dimension_assign(), ObjexxFCL::FArray5D< typename >::dimension_assign(), ObjexxFCL::KeyFArray5D< typename >::dimension_assign(), ObjexxFCL::FArray6D< typename >::dimension_assign(), ObjexxFCL::KeyFArray6D< typename >::dimension_assign(), ObjexxFCL::FArray3P< typename >::dimension_assign(), ObjexxFCL::FArray4P< typename >::dimension_assign(), ObjexxFCL::FArray5P< typename >::dimension_assign(), and ObjexxFCL::FArray6P< typename >::dimension_assign().

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign_no_notify ( IndexRange const &  I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::assign_no_notify ( int const  l_a,
Star const &  str 
)
inline

Index and Unbounded Upper Index Assignment Without Notification.

References ObjexxFCL::IndexRange::assign(), l_dim_p_, ObjexxFCL::IndexRange::legal_static(), and u_dim_p_.

bool ObjexxFCL::DynamicIndexRange::bounded ( ) const
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::clear ( )
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::clear_no_notify ( )
inline
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::contain ( int const  i)
overridevirtual
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::contain ( IndexRange const &  I)
overridevirtual
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::contain_nic ( int const  i)
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::contain_nic ( IndexRange const &  I)
bool ObjexxFCL::DynamicIndexRange::contains ( int const  i) const
inlineoverridevirtual

Contains an Index?

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::initialized_, ObjexxFCL::IndexRange::l_, l_dim_p_, ObjexxFCL::IndexRange::npos, ObjexxFCL::IndexRange::size_, ObjexxFCL::IndexRange::u_, and u_dim_p_.

Referenced by ObjexxFCL::FArray1D< double >::a(), ObjexxFCL::KeyFArray1D< typename >::a(), ObjexxFCL::FArray3D< typename >::a(), ObjexxFCL::KeyFArray3D< typename >::a(), ObjexxFCL::FArray4D< typename >::a(), ObjexxFCL::KeyFArray4D< typename >::a(), ObjexxFCL::FArray2D< double >::a(), ObjexxFCL::KeyFArray2D< typename >::a(), ObjexxFCL::FArray5D< typename >::a(), ObjexxFCL::KeyFArray5D< typename >::a(), ObjexxFCL::FArray6D< typename >::a(), ObjexxFCL::KeyFArray6D< typename >::a(), ObjexxFCL::FArray1P< typename >::a(), ObjexxFCL::FArray2P< typename >::a(), ObjexxFCL::FArray3P< typename >::a(), ObjexxFCL::FArray4P< typename >::a(), ObjexxFCL::FArray5P< typename >::a(), ObjexxFCL::FArray6P< typename >::a(), ObjexxFCL::FArray1D< double >::contains(), ObjexxFCL::KeyFArray1D< typename >::contains(), ObjexxFCL::FArray3D< typename >::contains(), ObjexxFCL::KeyFArray3D< typename >::contains(), ObjexxFCL::FArray4D< typename >::contains(), ObjexxFCL::FArray2D< double >::contains(), ObjexxFCL::KeyFArray4D< typename >::contains(), ObjexxFCL::KeyFArray2D< typename >::contains(), ObjexxFCL::FArray5D< typename >::contains(), ObjexxFCL::KeyFArray5D< typename >::contains(), ObjexxFCL::FArray6D< typename >::contains(), ObjexxFCL::KeyFArray6D< typename >::contains(), ObjexxFCL::FArray1P< typename >::contains(), ObjexxFCL::FArray2P< typename >::contains(), ObjexxFCL::FArray3P< typename >::contains(), ObjexxFCL::FArray4P< typename >::contains(), ObjexxFCL::FArray5P< typename >::contains(), ObjexxFCL::FArray6P< typename >::contains(), ObjexxFCL::FArray1D< double >::operator()(), ObjexxFCL::KeyFArray1D< typename >::operator()(), ObjexxFCL::KeyFArray3D< typename >::operator()(), ObjexxFCL::FArray3D< typename >::operator()(), ObjexxFCL::KeyFArray4D< typename >::operator()(), ObjexxFCL::FArray4D< typename >::operator()(), ObjexxFCL::KeyFArray2D< typename >::operator()(), ObjexxFCL::FArray2D< double >::operator()(), ObjexxFCL::KeyFArray5D< typename >::operator()(), ObjexxFCL::FArray5D< typename >::operator()(), ObjexxFCL::KeyFArray6D< typename >::operator()(), ObjexxFCL::FArray6D< typename >::operator()(), ObjexxFCL::FArray1P< typename >::operator()(), ObjexxFCL::FArray2P< typename >::operator()(), ObjexxFCL::FArray3P< typename >::operator()(), ObjexxFCL::FArray4P< typename >::operator()(), ObjexxFCL::FArray5P< typename >::operator()(), and ObjexxFCL::FArray6P< typename >::operator()().

bool ObjexxFCL::DynamicIndexRange::contains ( IndexRange const &  I) const
inlineoverridevirtual
void ObjexxFCL::DynamicIndexRange::destructed ( Subject const &  )
inlineoverridevirtual

Update for Destruction of a Subject.

Implements ObjexxFCL::Observer.

bool ObjexxFCL::DynamicIndexRange::initialized ( ) const
inlineoverridevirtual

Initialized?

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::initialized_, l_dim_p_, and u_dim_p_.

Referenced by ObjexxFCL::FArray1D< double >::dimensions_initialized(), ObjexxFCL::KeyFArray1D< typename >::dimensions_initialized(), ObjexxFCL::FArray3D< typename >::dimensions_initialized(), ObjexxFCL::KeyFArray3D< typename >::dimensions_initialized(), ObjexxFCL::FArray4D< typename >::dimensions_initialized(), ObjexxFCL::KeyFArray4D< typename >::dimensions_initialized(), ObjexxFCL::FArray2D< double >::dimensions_initialized(), ObjexxFCL::KeyFArray2D< typename >::dimensions_initialized(), ObjexxFCL::FArray5D< typename >::dimensions_initialized(), ObjexxFCL::KeyFArray5D< typename >::dimensions_initialized(), ObjexxFCL::FArray6D< typename >::dimensions_initialized(), ObjexxFCL::KeyFArray6D< typename >::dimensions_initialized(), ObjexxFCL::FArray1P< typename >::dimensions_initialized(), ObjexxFCL::FArray2P< typename >::dimensions_initialized(), ObjexxFCL::FArray3P< typename >::dimensions_initialized(), ObjexxFCL::FArray4P< typename >::dimensions_initialized(), ObjexxFCL::FArray5P< typename >::dimensions_initialized(), ObjexxFCL::FArray6P< typename >::dimensions_initialized(), ObjexxFCL::FArray1D< double >::index(), ObjexxFCL::KeyFArray1D< typename >::index(), ObjexxFCL::FArray3D< typename >::index(), ObjexxFCL::KeyFArray3D< typename >::index(), ObjexxFCL::FArray4D< typename >::index(), ObjexxFCL::KeyFArray4D< typename >::index(), ObjexxFCL::FArray2D< double >::index(), ObjexxFCL::KeyFArray2D< typename >::index(), ObjexxFCL::FArray5D< typename >::index(), ObjexxFCL::KeyFArray5D< typename >::index(), ObjexxFCL::FArray6D< typename >::index(), ObjexxFCL::KeyFArray6D< typename >::index(), ObjexxFCL::FArray1P< typename >::index(), ObjexxFCL::FArray2P< typename >::index(), ObjexxFCL::FArray3P< typename >::index(), ObjexxFCL::FArray4P< typename >::index(), ObjexxFCL::FArray5P< typename >::index(), and ObjexxFCL::FArray6P< typename >::index().

void ObjexxFCL::DynamicIndexRange::insert_as_observer ( )
inlineprivate

Insert as Observer of the Dimensions.

References ObjexxFCL::ObserverMulti::insert_observer(), l_dim_p_, and u_dim_p_.

Referenced by DynamicIndexRange(), swap(), and swap_no_notify().

DynamicIndexRange & ObjexxFCL::DynamicIndexRange::intersect ( IndexRange const &  I)
overridevirtual
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::intersect_nic ( IndexRange const &  I)
bool ObjexxFCL::DynamicIndexRange::intersects ( IndexRange const &  I) const
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::l ( int const  l_a)
inlineoverridevirtual

Lower Index Set.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::l(), l_dim_p_, legal_dynamic(), ObjexxFCL::Observer::notify(), and size_dynamic().

Referenced by ObjexxFCL::FArray1D< double >::FArray1D(), ObjexxFCL::FArray2D< double >::FArray2D(), ObjexxFCL::FArray3D< typename >::FArray3D(), ObjexxFCL::FArray4D< typename >::FArray4D(), ObjexxFCL::FArray5D< typename >::FArray5D(), ObjexxFCL::FArray6D< typename >::FArray6D(), ObjexxFCL::KeyFArray1D< typename >::KeyFArray1D(), ObjexxFCL::KeyFArray2D< typename >::KeyFArray2D(), ObjexxFCL::KeyFArray3D< typename >::KeyFArray3D(), ObjexxFCL::KeyFArray4D< typename >::KeyFArray4D(), ObjexxFCL::KeyFArray5D< typename >::KeyFArray5D(), ObjexxFCL::KeyFArray6D< typename >::KeyFArray6D(), ObjexxFCL::FArray1D< double >::l(), ObjexxFCL::KeyFArray1D< typename >::l(), ObjexxFCL::FArray1P< typename >::l(), ObjexxFCL::FArray1D< double >::l1(), ObjexxFCL::KeyFArray1D< typename >::l1(), ObjexxFCL::FArray3D< typename >::l1(), ObjexxFCL::KeyFArray3D< typename >::l1(), ObjexxFCL::FArray4D< typename >::l1(), ObjexxFCL::FArray2D< double >::l1(), ObjexxFCL::KeyFArray4D< typename >::l1(), ObjexxFCL::KeyFArray2D< typename >::l1(), ObjexxFCL::FArray5D< typename >::l1(), ObjexxFCL::KeyFArray5D< typename >::l1(), ObjexxFCL::FArray6D< typename >::l1(), ObjexxFCL::KeyFArray6D< typename >::l1(), ObjexxFCL::FArray1P< typename >::l1(), ObjexxFCL::FArray2P< typename >::l1(), ObjexxFCL::FArray3P< typename >::l1(), ObjexxFCL::FArray4P< typename >::l1(), ObjexxFCL::FArray5P< typename >::l1(), ObjexxFCL::FArray6P< typename >::l1(), ObjexxFCL::FArray3D< typename >::l2(), ObjexxFCL::KeyFArray3D< typename >::l2(), ObjexxFCL::FArray2D< double >::l2(), ObjexxFCL::FArray4D< typename >::l2(), ObjexxFCL::KeyFArray4D< typename >::l2(), ObjexxFCL::KeyFArray2D< typename >::l2(), ObjexxFCL::FArray5D< typename >::l2(), ObjexxFCL::KeyFArray5D< typename >::l2(), ObjexxFCL::FArray6D< typename >::l2(), ObjexxFCL::KeyFArray6D< typename >::l2(), ObjexxFCL::FArray2P< typename >::l2(), ObjexxFCL::FArray3P< typename >::l2(), ObjexxFCL::FArray4P< typename >::l2(), ObjexxFCL::FArray5P< typename >::l2(), ObjexxFCL::FArray6P< typename >::l2(), ObjexxFCL::FArray3D< typename >::l3(), ObjexxFCL::KeyFArray3D< typename >::l3(), ObjexxFCL::FArray4D< typename >::l3(), ObjexxFCL::KeyFArray4D< typename >::l3(), ObjexxFCL::FArray5D< typename >::l3(), ObjexxFCL::KeyFArray5D< typename >::l3(), ObjexxFCL::FArray6D< typename >::l3(), ObjexxFCL::KeyFArray6D< typename >::l3(), ObjexxFCL::FArray3P< typename >::l3(), ObjexxFCL::FArray4P< typename >::l3(), ObjexxFCL::FArray5P< typename >::l3(), ObjexxFCL::FArray6P< typename >::l3(), ObjexxFCL::FArray4D< typename >::l4(), ObjexxFCL::KeyFArray4D< typename >::l4(), ObjexxFCL::FArray5D< typename >::l4(), ObjexxFCL::KeyFArray5D< typename >::l4(), ObjexxFCL::FArray6D< typename >::l4(), ObjexxFCL::KeyFArray6D< typename >::l4(), ObjexxFCL::FArray4P< typename >::l4(), ObjexxFCL::FArray5P< typename >::l4(), ObjexxFCL::FArray6P< typename >::l4(), ObjexxFCL::FArray5D< typename >::l5(), ObjexxFCL::KeyFArray5D< typename >::l5(), ObjexxFCL::FArray6D< typename >::l5(), ObjexxFCL::KeyFArray6D< typename >::l5(), ObjexxFCL::FArray5P< typename >::l5(), ObjexxFCL::FArray6P< typename >::l5(), ObjexxFCL::FArray6D< typename >::l6(), ObjexxFCL::KeyFArray6D< typename >::l6(), and ObjexxFCL::FArray6P< typename >::l6().

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::l ( Dimension const &  l_dim_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::l ( Expression const &  l_exp_a)
inline
Dimension* ObjexxFCL::DynamicIndexRange::l_dim_clone ( ) const
inlineoverrideprivatevirtual

Lower Dimension Clone.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::clone(), and l_dim_p_.

Referenced by assign(), assign_no_notify(), and operator=().

bool ObjexxFCL::DynamicIndexRange::l_initialized ( ) const
inlineoverridevirtual

Lower Initialized?

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::initialized_, and l_dim_p_.

void ObjexxFCL::DynamicIndexRange::l_insert_as_observer ( )
inlineprivate
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::l_no_notify ( int const  l_a)
inline

Lower Index Set Without Notification.

References ObjexxFCL::IndexRange::l(), l_dim_p_, legal_dynamic(), and size_dynamic().

Referenced by contain(), contain_nic(), intersect(), and intersect_nic().

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::l_no_notify ( Dimension const &  l_dim_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::l_no_notify ( Expression const &  l_exp_a)
inline
bool ObjexxFCL::DynamicIndexRange::legal ( ) const
inlineoverridevirtual
bool ObjexxFCL::DynamicIndexRange::legal_dynamic ( ) const
inlineprivate
bool ObjexxFCL::DynamicIndexRange::not_unbounded ( ) const
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::operator= ( DynamicIndexRange const &  I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::operator= ( IndexRange const &  I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::operator= ( int const  u_a)
inlineoverridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::operator= ( Star const &  str)
inlineoverridevirtual

Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References l_dim_p_, ObjexxFCL::Observer::notify(), ObjexxFCL::IndexRange::operator=(), and u_dim_p_.

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::operator= ( Dimension const &  u_dim_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::operator= ( Expression const &  u_exp_a)
inline
bool ObjexxFCL::DynamicIndexRange::positive ( ) const
inlineoverridevirtual

Bounded with Positive Size?

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::initialized_, l_dim_p_, ObjexxFCL::IndexRange::positive(), and u_dim_p_.

void ObjexxFCL::DynamicIndexRange::remove_as_observer ( )
inlineprivate

Remove as Observer of the Dimensions.

References l_dim_p_, ObjexxFCL::ObserverMulti::remove_observer(), and u_dim_p_.

Referenced by swap(), and swap_no_notify().

void ObjexxFCL::DynamicIndexRange::size_dynamic ( )
inlineprivate
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::swap ( DynamicIndexRange I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::swap_no_notify ( DynamicIndexRange I)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::u ( int const  u_a)
inlineoverridevirtual

Upper Index Set.

Reimplemented from ObjexxFCL::IndexRange.

References legal_dynamic(), ObjexxFCL::Observer::notify(), size_dynamic(), ObjexxFCL::IndexRange::u(), and u_dim_p_.

Referenced by ObjexxFCL::FArray1D< double >::FArray1D(), ObjexxFCL::FArray2D< double >::FArray2D(), ObjexxFCL::FArray3D< typename >::FArray3D(), ObjexxFCL::FArray4D< typename >::FArray4D(), ObjexxFCL::FArray5D< typename >::FArray5D(), ObjexxFCL::FArray6D< typename >::FArray6D(), ObjexxFCL::KeyFArray1D< typename >::KeyFArray1D(), ObjexxFCL::KeyFArray2D< typename >::KeyFArray2D(), ObjexxFCL::KeyFArray3D< typename >::KeyFArray3D(), ObjexxFCL::KeyFArray4D< typename >::KeyFArray4D(), ObjexxFCL::KeyFArray5D< typename >::KeyFArray5D(), ObjexxFCL::KeyFArray6D< typename >::KeyFArray6D(), ObjexxFCL::FArray1D< double >::u(), ObjexxFCL::KeyFArray1D< typename >::u(), ObjexxFCL::FArray1P< typename >::u(), ObjexxFCL::FArray1D< double >::u1(), ObjexxFCL::KeyFArray1D< typename >::u1(), ObjexxFCL::FArray3D< typename >::u1(), ObjexxFCL::KeyFArray3D< typename >::u1(), ObjexxFCL::FArray2D< double >::u1(), ObjexxFCL::FArray4D< typename >::u1(), ObjexxFCL::KeyFArray4D< typename >::u1(), ObjexxFCL::KeyFArray2D< typename >::u1(), ObjexxFCL::FArray5D< typename >::u1(), ObjexxFCL::KeyFArray5D< typename >::u1(), ObjexxFCL::FArray6D< typename >::u1(), ObjexxFCL::KeyFArray6D< typename >::u1(), ObjexxFCL::FArray1P< typename >::u1(), ObjexxFCL::FArray2P< typename >::u1(), ObjexxFCL::FArray3P< typename >::u1(), ObjexxFCL::FArray4P< typename >::u1(), ObjexxFCL::FArray5P< typename >::u1(), ObjexxFCL::FArray6P< typename >::u1(), ObjexxFCL::FArray3D< typename >::u2(), ObjexxFCL::KeyFArray3D< typename >::u2(), ObjexxFCL::FArray2D< double >::u2(), ObjexxFCL::FArray4D< typename >::u2(), ObjexxFCL::KeyFArray4D< typename >::u2(), ObjexxFCL::KeyFArray2D< typename >::u2(), ObjexxFCL::FArray5D< typename >::u2(), ObjexxFCL::KeyFArray5D< typename >::u2(), ObjexxFCL::FArray6D< typename >::u2(), ObjexxFCL::KeyFArray6D< typename >::u2(), ObjexxFCL::FArray2P< typename >::u2(), ObjexxFCL::FArray3P< typename >::u2(), ObjexxFCL::FArray4P< typename >::u2(), ObjexxFCL::FArray5P< typename >::u2(), ObjexxFCL::FArray6P< typename >::u2(), ObjexxFCL::FArray3D< typename >::u3(), ObjexxFCL::KeyFArray3D< typename >::u3(), ObjexxFCL::FArray4D< typename >::u3(), ObjexxFCL::KeyFArray4D< typename >::u3(), ObjexxFCL::FArray5D< typename >::u3(), ObjexxFCL::KeyFArray5D< typename >::u3(), ObjexxFCL::FArray6D< typename >::u3(), ObjexxFCL::KeyFArray6D< typename >::u3(), ObjexxFCL::FArray3P< typename >::u3(), ObjexxFCL::FArray4P< typename >::u3(), ObjexxFCL::FArray5P< typename >::u3(), ObjexxFCL::FArray6P< typename >::u3(), ObjexxFCL::FArray4D< typename >::u4(), ObjexxFCL::KeyFArray4D< typename >::u4(), ObjexxFCL::FArray5D< typename >::u4(), ObjexxFCL::KeyFArray5D< typename >::u4(), ObjexxFCL::FArray6D< typename >::u4(), ObjexxFCL::KeyFArray6D< typename >::u4(), ObjexxFCL::FArray4P< typename >::u4(), ObjexxFCL::FArray5P< typename >::u4(), ObjexxFCL::FArray6P< typename >::u4(), ObjexxFCL::FArray5D< typename >::u5(), ObjexxFCL::KeyFArray5D< typename >::u5(), ObjexxFCL::FArray6D< typename >::u5(), ObjexxFCL::KeyFArray6D< typename >::u5(), ObjexxFCL::FArray5P< typename >::u5(), ObjexxFCL::FArray6P< typename >::u5(), ObjexxFCL::FArray6D< typename >::u6(), ObjexxFCL::KeyFArray6D< typename >::u6(), and ObjexxFCL::FArray6P< typename >::u6().

DynamicIndexRange & ObjexxFCL::DynamicIndexRange::u ( Star const &  star)
overridevirtual
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::u ( Dimension const &  u_dim_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::u ( Expression const &  u_exp_a)
inline
Dimension* ObjexxFCL::DynamicIndexRange::u_dim_clone ( ) const
inlineoverrideprivatevirtual

Upper Dimension Clone.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::clone(), and u_dim_p_.

Referenced by assign(), assign_no_notify(), and operator=().

bool ObjexxFCL::DynamicIndexRange::u_initialized ( ) const
inlineoverridevirtual

Upper Initialized?

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::Dimension::initialized_, and u_dim_p_.

void ObjexxFCL::DynamicIndexRange::u_insert_as_observer ( )
inlineprivate
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::u_no_notify ( int const  u_a)
inline
DynamicIndexRange & ObjexxFCL::DynamicIndexRange::u_no_notify ( Star const &  star)

Unbounded Upper Index Set Without Notification.

References l_dim_p_, legal_dynamic(), size_dynamic(), ObjexxFCL::IndexRange::u(), u_dim_p_, and u_insert_as_observer().

DynamicIndexRange& ObjexxFCL::DynamicIndexRange::u_no_notify ( Dimension const &  u_dim_a)
inline
DynamicIndexRange& ObjexxFCL::DynamicIndexRange::u_no_notify ( Expression const &  u_exp_a)
inline
bool ObjexxFCL::DynamicIndexRange::unbounded ( ) const
inlineoverridevirtual
void ObjexxFCL::DynamicIndexRange::update ( )
inlineoverridevirtual

Friends And Related Function Documentation

void swap ( ObjexxFCL::DynamicIndexRange a,
ObjexxFCL::DynamicIndexRange b 
)
friend

Swap.

void swap_no_notify ( DynamicIndexRange a,
DynamicIndexRange b 
)
friend

Swap.

Member Data Documentation

Dimension* ObjexxFCL::DynamicIndexRange::l_dim_p_
private
Dimension* ObjexxFCL::DynamicIndexRange::u_dim_p_
private

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