Rosetta
Public Types | Public Member Functions | Private Types | Friends | List of all members
ObjexxFCL::StaticIndexRange Class Reference

StaticIndexRange: Static Index Range. More...

#include <StaticIndexRange.hh>

Inheritance diagram for ObjexxFCL::StaticIndexRange:
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

 StaticIndexRange ()
 Default Constructor. More...
 
 StaticIndexRange (StaticIndexRange const &I)
 Copy Constructor. More...
 
 StaticIndexRange (IndexRange const &I)
 IndexRange Constructor. More...
 
 StaticIndexRange (int const u_a)
 Upper Index Constructor. More...
 
 StaticIndexRange (Star const &str)
 Unbounded Upper Index Constructor. More...
 
 StaticIndexRange (Dimension const &u_dim_a)
 Upper Dimension Constructor. More...
 
 StaticIndexRange (Expression const &u_exp_a)
 Upper Expression Constructor. More...
 
 StaticIndexRange (int const l_a, int const u_a)
 Index Range Constructor. More...
 
 StaticIndexRange (Dimension const &l_dim_a, Dimension const &u_dim_a)
 Dimension Range Constructor. More...
 
 StaticIndexRange (Expression const &l_exp_a, Expression const &u_exp_a)
 Expression Range Constructor. More...
 
 StaticIndexRange (int const l_a, Dimension const &u_dim_a)
 Index and Dimension Constructor. More...
 
 StaticIndexRange (Dimension const &l_dim_a, int const u_a)
 Dimension and Index Constructor. More...
 
 StaticIndexRange (int const l_a, Expression const &u_exp_a)
 Index and Expression Constructor. More...
 
 StaticIndexRange (Expression const &l_exp_a, int const u_a)
 Expression and Index Constructor. More...
 
 StaticIndexRange (Dimension const &l_dim_a, Expression const &u_exp_a)
 Dimension and Expression Constructor. More...
 
 StaticIndexRange (Expression const &l_exp_a, Dimension const &u_dim_a)
 Expression and Dimension Constructor. More...
 
 StaticIndexRange (int const l_a, Star const &str)
 Index and Unbounded Upper Index Constructor. More...
 
 StaticIndexRange (Dimension const &l_dim_a, Star const &str)
 Dimension and Unbounded Upper Index Constructor. More...
 
 StaticIndexRange (Expression const &l_exp_a, Star const &str)
 Expression and Unbounded Upper Index Constructor. More...
 
 ~StaticIndexRange () override
 Destructor. More...
 
StaticIndexRangeoperator= (StaticIndexRange const &I)
 Copy Assignment. More...
 
StaticIndexRangeoperator= (IndexRange const &I)
 IndexRange Assignment. More...
 
StaticIndexRangeoperator= (int const u_a) override
 Upper Index Assignment. More...
 
StaticIndexRangeoperator= (Star const &str) override
 Unbounded Upper Index Assignment. More...
 
StaticIndexRangeoperator= (Dimension const &u_dim_a)
 Upper Dimension Assignment. More...
 
StaticIndexRangeoperator= (Expression const &u_exp_a)
 Upper Expression Assignment. More...
 
StaticIndexRangeassign (StaticIndexRange const &I)
 StaticIndexRange Assignment. More...
 
StaticIndexRangeassign (IndexRange const &I)
 IndexRange Assignment. More...
 
StaticIndexRangeassign (int const u_a) override
 Upper Index Assignment. More...
 
StaticIndexRangeassign (Star const &str) override
 Unbounded Upper Index Assignment. More...
 
StaticIndexRangeassign (Dimension const &u_dim_a)
 Upper Dimension Assignment. More...
 
StaticIndexRangeassign (Expression const &u_exp_a)
 Upper Expression Assignment. More...
 
StaticIndexRangeassign (int const l_a, int const u_a) override
 Index Range Assignment. More...
 
StaticIndexRangeassign (Dimension const &l_dim_a, Dimension const &u_dim_a)
 Dimension Range Assignment. More...
 
StaticIndexRangeassign (Expression const &l_exp_a, Expression const &u_exp_a)
 Expression Range Assignment. More...
 
StaticIndexRangeassign (int const l_a, Dimension const &u_dim_a)
 Index and Dimension Assignment. More...
 
StaticIndexRangeassign (Dimension const &l_dim_a, int const u_a)
 Dimension and Index Assignment. More...
 
StaticIndexRangeassign (int const l_a, Expression const &u_exp_a)
 Index and Expression Assignment. More...
 
StaticIndexRangeassign (Expression const &l_exp_a, int const u_a)
 Expression and Index Assignment. More...
 
StaticIndexRangeassign (Dimension const &l_dim_a, Expression const &u_exp_a)
 Dimension and Expression Assignment. More...
 
StaticIndexRangeassign (Expression const &l_exp_a, Dimension const &u_dim_a)
 Expression and Dimension Assignment. More...
 
StaticIndexRangeassign (int const l_a, Star const &str) override
 Index and Unbounded Upper Index Assignment. More...
 
StaticIndexRangeassign (Dimension const &l_dim_a, Star const &str)
 Dimension and Unbounded Upper Index Assignment. More...
 
StaticIndexRangeassign (Expression const &l_exp_a, Star const &str)
 Expression and Unbounded Upper Index Assignment. More...
 
void assign_value_of (IndexRange const &I)
 Assign Static Value of Another IndexRange: Faster Than operator =( I ) More...
 
int l () const
 Lower Index. More...
 
int u () const
 Upper Index. More...
 
int offset (int const i) const
 Offset of an Index. More...
 
StaticIndexRangel (int const l_a) override
 Lower Index Set. More...
 
StaticIndexRangeu (int const u_a) override
 Upper Index Set. More...
 
StaticIndexRangeu (Star const &str) override
 Unbounded Upper Index Set. More...
 
StaticIndexRangecontain (int const i) override
 Expand to Contain an Index. More...
 
StaticIndexRangecontain (IndexRange const &I) override
 Expand to Contain Another IndexRange. More...
 
StaticIndexRangeintersect (IndexRange const &I) override
 Intersect With Another IndexRange. More...
 
StaticIndexRangeclear () override
 Clear. More...
 
StaticIndexRangeswap (StaticIndexRange &I)
 Swap. More...
 
int l () const
 Lower Index. More...
 
virtual IndexRangel (int const l_a)
 Lower Index Set. More...
 
int u () const
 Upper Index. More...
 
virtual IndexRangeu (int const u_a)
 Upper Index Set. More...
 
virtual IndexRangeu (Star const &)
 Unbounded Upper Index Set. More...
 
- Public Member Functions inherited from ObjexxFCL::IndexRange
virtual ~IndexRange ()
 Destructor. More...
 
virtual bool initialized () const
 Initialized? More...
 
virtual bool l_initialized () const
 Lower Initialized? More...
 
virtual bool u_initialized () const
 Upper Initialized? More...
 
virtual bool legal () const
 Legal? More...
 
virtual bool bounded () const
 Bounded? More...
 
bool bounded_value () const
 Bounded? More...
 
virtual bool unbounded () const
 Unbounded? More...
 
bool unbounded_value () const
 Unbounded? More...
 
virtual bool not_unbounded () const
 Not Unbounded? More...
 
virtual bool positive () const
 Bounded with Positive Size? More...
 
bool positive_value () const
 Bounded with Positive Size? More...
 
virtual bool contains (int const i) const
 Contains an Index? More...
 
virtual bool contains (IndexRange const &I) const
 Contains Another IndexRange? More...
 
virtual bool intersects (IndexRange const &I) const
 Intersects Another IndexRange? 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...
 

Private Types

typedef IndexRange Super
 

Friends

void swap (StaticIndexRange &a, StaticIndexRange &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...
 
virtual Dimensionl_dim_clone () const
 Lower Dimension Clone. More...
 
virtual Dimensionu_dim_clone () const
 Upper Dimension Clone. More...
 
void swap (IndexRange &I)
 Swap. More...
 

Detailed Description

StaticIndexRange: Static Index Range.

Remarks
  • 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

◆ Expression

◆ Super

Constructor & Destructor Documentation

◆ StaticIndexRange() [1/19]

ObjexxFCL::StaticIndexRange::StaticIndexRange ( )
inline

Default Constructor.

◆ StaticIndexRange() [2/19]

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

Copy Constructor.

◆ StaticIndexRange() [3/19]

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

IndexRange Constructor.

References test.T110_numeric::I.

◆ StaticIndexRange() [4/19]

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

Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [5/19]

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

Unbounded Upper Index Constructor.

◆ StaticIndexRange() [6/19]

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

Upper Dimension Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [7/19]

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

Upper Expression Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [8/19]

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

Index Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [9/19]

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

Dimension Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [10/19]

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

Expression Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [11/19]

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

Index and Dimension Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [12/19]

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

Dimension and Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [13/19]

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

Index and Expression Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [14/19]

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

Expression and Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [15/19]

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

Dimension and Expression Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [16/19]

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

Expression and Dimension Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [17/19]

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

Index and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [18/19]

ObjexxFCL::StaticIndexRange::StaticIndexRange ( Dimension const &  l_dim_a,
Star const &  str 
)
inline

Dimension and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ StaticIndexRange() [19/19]

ObjexxFCL::StaticIndexRange::StaticIndexRange ( Expression const &  l_exp_a,
Star const &  str 
)
inline

Expression and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

◆ ~StaticIndexRange()

ObjexxFCL::StaticIndexRange::~StaticIndexRange ( )
inlineoverride

Destructor.

Member Function Documentation

◆ assign() [1/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  l_dim_a,
Dimension const &  u_dim_a 
)
inline

◆ assign() [2/18]

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

◆ assign() [3/18]

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

◆ assign() [4/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  l_dim_a,
Star const &  str 
)
inline

◆ assign() [5/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  u_dim_a)
inline

◆ assign() [6/18]

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

◆ assign() [7/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  l_exp_a,
Expression const &  u_exp_a 
)
inline

◆ assign() [8/18]

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

◆ assign() [9/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  l_exp_a,
Star const &  str 
)
inline

◆ assign() [10/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  u_exp_a)
inline

◆ assign() [11/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( IndexRange const &  I)
inline

◆ assign() [12/18]

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

◆ assign() [13/18]

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

◆ assign() [14/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( int const  l_a,
int const  u_a 
)
inlineoverridevirtual

Index Range Assignment.

Reimplemented from ObjexxFCL::IndexRange.

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

◆ assign() [15/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( int const  l_a,
Star const &  str 
)
inlineoverridevirtual

Index and Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::assign(), ObjexxFCL::IndexRange::legal_static(), and str().

◆ assign() [16/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( int const  u_a)
inlineoverridevirtual

Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::legal_static(), and ObjexxFCL::IndexRange::operator=().

◆ assign() [17/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Star const &  str)
inlineoverridevirtual

Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::operator=(), and str().

◆ assign() [18/18]

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( StaticIndexRange const &  I)
inline

◆ assign_value_of()

void ObjexxFCL::StaticIndexRange::assign_value_of ( IndexRange const &  I)
inline

◆ clear()

StaticIndexRange& ObjexxFCL::StaticIndexRange::clear ( )
inlineoverridevirtual

◆ contain() [1/2]

StaticIndexRange& ObjexxFCL::StaticIndexRange::contain ( IndexRange const &  I)
inlineoverridevirtual

◆ contain() [2/2]

StaticIndexRange& ObjexxFCL::StaticIndexRange::contain ( int const  i)
inlineoverridevirtual

◆ intersect()

StaticIndexRange& ObjexxFCL::StaticIndexRange::intersect ( IndexRange const &  I)
inlineoverridevirtual

◆ l() [1/4]

int ObjexxFCL::IndexRange::l
inline

Lower Index.

◆ l() [2/4]

int ObjexxFCL::StaticIndexRange::l ( ) const
inline

◆ l() [3/4]

virtual IndexRange& ObjexxFCL::IndexRange::l
inline

Lower Index Set.

◆ l() [4/4]

StaticIndexRange& ObjexxFCL::StaticIndexRange::l ( int const  l_a)
inlineoverridevirtual

Lower Index Set.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::l(), and ObjexxFCL::IndexRange::legal_static().

◆ offset()

int ObjexxFCL::StaticIndexRange::offset ( int const  i) const
inline

Offset of an Index.

References create_a3b_hbs::i, and ObjexxFCL::IndexRange::l_.

◆ operator=() [1/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( Dimension const &  u_dim_a)
inline

◆ operator=() [2/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( Expression const &  u_exp_a)
inline

◆ operator=() [3/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( IndexRange const &  I)
inline

◆ operator=() [4/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( int const  u_a)
inlineoverridevirtual

Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::legal_static(), and ObjexxFCL::IndexRange::operator=().

◆ operator=() [5/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( Star const &  str)
inlineoverridevirtual

Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::operator=(), and str().

◆ operator=() [6/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( StaticIndexRange const &  I)
inline

◆ swap()

StaticIndexRange& ObjexxFCL::StaticIndexRange::swap ( StaticIndexRange I)
inline

◆ u() [1/6]

int ObjexxFCL::IndexRange::u
inline

Upper Index.

◆ u() [2/6]

int ObjexxFCL::StaticIndexRange::u ( ) const
inline

◆ u() [3/6]

virtual IndexRange& ObjexxFCL::IndexRange::u
inline

Upper Index Set.

◆ u() [4/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::u ( int const  u_a)
inlineoverridevirtual

Upper Index Set.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::legal_static(), and ObjexxFCL::IndexRange::u().

◆ u() [5/6]

virtual IndexRange& ObjexxFCL::IndexRange::u
inline

Unbounded Upper Index Set.

◆ u() [6/6]

StaticIndexRange& ObjexxFCL::StaticIndexRange::u ( Star const &  str)
inlineoverridevirtual

Unbounded Upper Index Set.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::legal_static(), str(), and ObjexxFCL::IndexRange::u().

Friends And Related Function Documentation

◆ swap

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

Swap.


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