Rosetta  2020.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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...
 
- 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

Constructor & Destructor Documentation

ObjexxFCL::StaticIndexRange::StaticIndexRange ( )
inline

Default Constructor.

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

Copy Constructor.

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

Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Unbounded Upper Index Constructor.

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

Upper Dimension Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Upper Expression Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Index Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Dimension Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Expression Range Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Index and Dimension Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Dimension and Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Index and Expression Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Expression and Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Dimension and Expression Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Expression and Dimension Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Index and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Dimension and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

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

Expression and Unbounded Upper Index Constructor.

References ObjexxFCL::IndexRange::legal_static().

ObjexxFCL::StaticIndexRange::~StaticIndexRange ( )
inlineoverride

Destructor.

Member Function Documentation

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( StaticIndexRange const &  I)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( IndexRange const &  I)
inline
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=().

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

Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::operator=().

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  u_dim_a)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  u_exp_a)
inline
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().

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  l_dim_a,
Dimension const &  u_dim_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  l_exp_a,
Expression const &  u_exp_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( int const  l_a,
Dimension const &  u_dim_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  l_dim_a,
int const  u_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( int const  l_a,
Expression const &  u_exp_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  l_exp_a,
int const  u_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  l_dim_a,
Expression const &  u_exp_a 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  l_exp_a,
Dimension const &  u_dim_a 
)
inline
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(), and ObjexxFCL::IndexRange::legal_static().

StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Dimension const &  l_dim_a,
Star const &  str 
)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::assign ( Expression const &  l_exp_a,
Star const &  str 
)
inline
void ObjexxFCL::StaticIndexRange::assign_value_of ( IndexRange const &  I)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::clear ( )
inlineoverridevirtual
StaticIndexRange& ObjexxFCL::StaticIndexRange::contain ( int const  i)
inlineoverridevirtual

Expand to Contain an Index.

Reimplemented from ObjexxFCL::IndexRange.

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

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

Expand to Contain Another IndexRange.

Reimplemented from ObjexxFCL::IndexRange.

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

StaticIndexRange& ObjexxFCL::StaticIndexRange::intersect ( IndexRange const &  I)
inlineoverridevirtual
int ObjexxFCL::StaticIndexRange::l ( ) const
inline
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().

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

Offset of an Index.

References ObjexxFCL::IndexRange::l_.

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( StaticIndexRange const &  I)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( IndexRange const &  I)
inline
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=().

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

Unbounded Upper Index Assignment.

Reimplemented from ObjexxFCL::IndexRange.

References ObjexxFCL::IndexRange::operator=().

StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( Dimension const &  u_dim_a)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::operator= ( Expression const &  u_exp_a)
inline
StaticIndexRange& ObjexxFCL::StaticIndexRange::swap ( StaticIndexRange I)
inline
int ObjexxFCL::StaticIndexRange::u ( ) const
inline
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().

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

Unbounded Upper Index Set.

Reimplemented from ObjexxFCL::IndexRange.

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

Friends And Related Function Documentation

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

Swap.


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