|
Rosetta
|
IndexRange: Index Range Abstract Base Class. More...
#include <IndexRange.hh>

Public Types | |
| typedef std::size_t | size_type |
| typedef std::size_t | Size |
Public Member Functions | |
| virtual | ~IndexRange () |
| Destructor. More... | |
| virtual IndexRange & | operator= (int const u_a) |
| Upper Index Assignment. More... | |
| virtual IndexRange & | operator= (Star const &) |
| Unbounded Upper Index Assignment. More... | |
| virtual IndexRange & | assign (int const u_a) |
| Upper Index Assignment. More... | |
| virtual IndexRange & | assign (Star const &) |
| Unbounded Upper Index Assignment. More... | |
| virtual IndexRange & | assign (int const l_a, int const u_a) |
| Index Range Assignment. More... | |
| virtual IndexRange & | assign (int const l_a, Star const &) |
| Index and Unbounded Upper Index Assignment. 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... | |
| virtual IndexRange & | l (int const l_a) |
| Lower Index Set. More... | |
| virtual IndexRange & | u (int const u_a) |
| Upper Index Set. More... | |
| virtual IndexRange & | u (Star const &) |
| Unbounded Upper Index Set. More... | |
| virtual IndexRange & | contain (int const i) |
| Expand to Contain an Index. More... | |
| virtual IndexRange & | contain (IndexRange const &I) |
| Expand to Contain Another IndexRange. More... | |
| virtual IndexRange & | intersect (IndexRange const &I) |
| Intersect With Another IndexRange. More... | |
| virtual IndexRange & | clear () |
| Clear. More... | |
Static Public Attributes | |
| 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 | |
| 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... | |
| IndexRange & | operator= (IndexRange const &I) |
| Copy Assignment. More... | |
| bool | legal_static () const |
| Legal Static Range? More... | |
| virtual Dimension * | l_dim_clone () const |
| Lower Dimension Clone. More... | |
| virtual Dimension * | u_dim_clone () const |
| Upper Dimension Clone. More... | |
| void | swap (IndexRange &I) |
| Swap. More... | |
Private Attributes | |
| int | l_ |
| Lower index. More... | |
| int | u_ |
| Upper index. More... | |
| size_type | size_ |
| Size (npos iff unbounded) More... | |
Friends | |
| class | StaticIndexRange |
| class | DynamicIndexRange |
| bool | operator== (IndexRange const &I, IndexRange const &J) |
| IndexRange == IndexRange. More... | |
| bool | operator!= (IndexRange const &I, IndexRange const &J) |
| IndexRange != IndexRange. More... | |
| bool | operator< (IndexRange const &I, IndexRange const &J) |
| IndexRange < IndexRange. More... | |
| bool | operator<= (IndexRange const &I, IndexRange const &J) |
| IndexRange <= IndexRange. More... | |
| bool | operator> (IndexRange const &I, IndexRange const &J) |
| IndexRange > IndexRange. More... | |
| bool | operator>= (IndexRange const &I, IndexRange const &J) |
| IndexRange >= IndexRange. More... | |
| std::istream & | operator>> (std::istream &stream, IndexRange &I) |
| Stream Input. More... | |
| std::ostream & | operator<< (std::ostream &stream, IndexRange const &I) |
| Stream Output. More... | |
IndexRange: Index Range Abstract Base Class.
| typedef std::size_t ObjexxFCL::IndexRange::Size |
| typedef std::size_t ObjexxFCL::IndexRange::size_type |
|
inlineprotected |
Default Constructor.
|
inlineprotected |
Copy Constructor.
|
inlineprotected |
Upper Index Constructor.
|
inlineprotected |
Unbounded Upper Index Constructor.
|
inlineprotected |
Index Range Constructor.
|
inlineprotected |
Index and Unbounded Upper Index Constructor.
|
inlinevirtual |
Destructor.
|
inlinevirtual |
Index Range Assignment.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
Index and Unbounded Upper Index Assignment.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
Upper Index Assignment.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
Referenced by ObjexxFCL::DynamicIndexRange::assign(), ObjexxFCL::StaticIndexRange::assign(), and ObjexxFCL::DynamicIndexRange::assign_no_notify().
|
inlinevirtual |
Unbounded Upper Index Assignment.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
Bounded?
Reimplemented in ObjexxFCL::DynamicIndexRange.
Referenced by ObjexxFCL::DynamicIndexRange::bounded(), contain(), ObjexxFCL::DynamicIndexRange::contain(), and ObjexxFCL::DynamicIndexRange::contain_nic().
|
inline |
Bounded?
Referenced by ObjexxFCL::FArray1A< T >::dimension_argument(), ObjexxFCL::FArray2A< T >::dimension_argument(), ObjexxFCL::FArray3A< T >::dimension_argument(), ObjexxFCL::FArray4A< T >::dimension_argument(), ObjexxFCL::FArray5A< T >::dimension_argument(), ObjexxFCL::FArray6A< T >::dimension_argument(), ObjexxFCL::FArray1P< T >::dimension_proxy(), ObjexxFCL::FArray2P< T >::dimension_proxy(), ObjexxFCL::FArray3P< T >::dimension_proxy(), ObjexxFCL::FArray4P< T >::dimension_proxy(), ObjexxFCL::FArray5P< T >::dimension_proxy(), and ObjexxFCL::FArray6P< T >::dimension_proxy().
|
inlinevirtual |
|
virtual |
Expand to Contain Another IndexRange.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
References bounded(), test.T110_numeric::I, l_, npos, size_, and u_.
|
inlinevirtual |
Expand to Contain an Index.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
References create_a3b_hbs::i, l_, size_, and u_.
Referenced by ObjexxFCL::StaticIndexRange::contain().
|
virtual |
Contains Another IndexRange?
Reimplemented in ObjexxFCL::DynamicIndexRange.
References test.T110_numeric::I, l_, and u_.
|
inlinevirtual |
Contains an Index?
Reimplemented in ObjexxFCL::DynamicIndexRange.
References create_a3b_hbs::i, l_, npos, size_, and u_.
Referenced by ObjexxFCL::FArray1A< T >::a(), ObjexxFCL::FArray2A< T >::a(), ObjexxFCL::FArray3A< T >::a(), ObjexxFCL::FArray4A< T >::a(), ObjexxFCL::FArray5A< T >::a(), ObjexxFCL::FArray6A< T >::a(), ObjexxFCL::DynamicIndexRange::contains(), ObjexxFCL::FArray1A< T >::contains(), ObjexxFCL::FArray2A< T >::contains(), ObjexxFCL::FArray3A< T >::contains(), ObjexxFCL::FArray4A< T >::contains(), ObjexxFCL::FArray5A< T >::contains(), ObjexxFCL::FArray6A< T >::contains(), ObjexxFCL::FArray1A< T >::operator()(), ObjexxFCL::FArray2A< T >::operator()(), ObjexxFCL::FArray3A< T >::operator()(), ObjexxFCL::FArray4A< T >::operator()(), ObjexxFCL::FArray5A< T >::operator()(), and ObjexxFCL::FArray6A< T >::operator()().
|
inlinevirtual |
Initialized?
Reimplemented in ObjexxFCL::DynamicIndexRange.
|
virtual |
Intersect With Another IndexRange.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
References test.T110_numeric::I, intersects(), l_, size_, and u_.
Referenced by ObjexxFCL::StaticIndexRange::intersect().
|
virtual |
Intersects Another IndexRange?
Reimplemented in ObjexxFCL::DynamicIndexRange.
References test.T110_numeric::I, l_, and u_.
Referenced by intersect(), ObjexxFCL::DynamicIndexRange::intersect(), ObjexxFCL::DynamicIndexRange::intersect_nic(), and ObjexxFCL::DynamicIndexRange::intersects().
|
inline |
Lower Index.
References l_, and l_initialized().
Referenced by ObjexxFCL::DynamicIndexRange::l(), ObjexxFCL::StaticIndexRange::l(), ObjexxFCL::DynamicIndexRange::l_no_notify(), and ObjexxFCL::DynamicIndexRange::update().
|
inlinevirtual |
Lower Index Set.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlineprotectedvirtual |
Lower Dimension Clone.
Reimplemented in ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
|
inlinevirtual |
Legal?
Reimplemented in ObjexxFCL::DynamicIndexRange.
Referenced by options_class.Option::getDoxygenRow(), options_class.Option::getMarkdownRow(), options_class.Option::getOptionCC(), and options_class.Option::getWikiTableRow().
|
inlineprotected |
Legal Static Range?
Referenced by ObjexxFCL::DynamicIndexRange::assign(), ObjexxFCL::StaticIndexRange::assign(), ObjexxFCL::DynamicIndexRange::assign_no_notify(), ObjexxFCL::StaticIndexRange::assign_value_of(), ObjexxFCL::StaticIndexRange::contain(), ObjexxFCL::DynamicIndexRange::DynamicIndexRange(), ObjexxFCL::StaticIndexRange::intersect(), ObjexxFCL::StaticIndexRange::l(), ObjexxFCL::DynamicIndexRange::operator=(), ObjexxFCL::StaticIndexRange::operator=(), ObjexxFCL::StaticIndexRange::StaticIndexRange(), ObjexxFCL::StaticIndexRange::swap(), and ObjexxFCL::StaticIndexRange::u().
|
inline |
Lower Index (Zero if Uninitialized)
References l_.
Referenced by ObjexxFCL::FArray1A< T >::dimension_argument(), ObjexxFCL::FArray2A< T >::dimension_argument(), ObjexxFCL::FArray3A< T >::dimension_argument(), ObjexxFCL::FArray4A< T >::dimension_argument(), ObjexxFCL::FArray5A< T >::dimension_argument(), ObjexxFCL::FArray6A< T >::dimension_argument(), ObjexxFCL::FArray1P< T >::dimension_proxy(), ObjexxFCL::FArray2P< T >::dimension_proxy(), ObjexxFCL::FArray3P< T >::dimension_proxy(), ObjexxFCL::FArray4P< T >::dimension_proxy(), ObjexxFCL::FArray5P< T >::dimension_proxy(), ObjexxFCL::FArray6P< T >::dimension_proxy(), ObjexxFCL::FArray1D< T >::dimension_real(), ObjexxFCL::FArray2D< T >::dimension_real(), ObjexxFCL::FArray3D< T >::dimension_real(), ObjexxFCL::FArray4D< T >::dimension_real(), ObjexxFCL::FArray5D< T >::dimension_real(), ObjexxFCL::FArray6D< T >::dimension_real(), ObjexxFCL::KeyFArray1D< T >::dimension_real(), ObjexxFCL::KeyFArray2D< T >::dimension_real(), ObjexxFCL::KeyFArray3D< T >::dimension_real(), ObjexxFCL::KeyFArray4D< T >::dimension_real(), ObjexxFCL::KeyFArray5D< T >::dimension_real(), ObjexxFCL::KeyFArray6D< T >::dimension_real(), ObjexxFCL::FArray1D< T >::setup_real(), ObjexxFCL::FArray2D< T >::setup_real(), ObjexxFCL::FArray3D< T >::setup_real(), ObjexxFCL::FArray4D< T >::setup_real(), ObjexxFCL::FArray5D< T >::setup_real(), ObjexxFCL::FArray6D< T >::setup_real(), ObjexxFCL::KeyFArray1D< T >::setup_real(), ObjexxFCL::KeyFArray2D< T >::setup_real(), ObjexxFCL::KeyFArray3D< T >::setup_real(), ObjexxFCL::KeyFArray4D< T >::setup_real(), ObjexxFCL::KeyFArray5D< T >::setup_real(), and ObjexxFCL::KeyFArray6D< T >::setup_real().
|
inlinevirtual |
Not Unbounded?
Reimplemented in ObjexxFCL::DynamicIndexRange.
Referenced by ObjexxFCL::DynamicIndexRange::not_unbounded().
|
inline |
Offset of an Index.
References create_a3b_hbs::i, l_, and l_initialized().
|
inlineprotected |
Copy Assignment.
References test.T110_numeric::I, l_, size_, and u_.
Referenced by ObjexxFCL::DynamicIndexRange::assign(), ObjexxFCL::StaticIndexRange::assign(), ObjexxFCL::DynamicIndexRange::assign_no_notify(), ObjexxFCL::DynamicIndexRange::operator=(), and ObjexxFCL::StaticIndexRange::operator=().
|
inlinevirtual |
Upper Index Assignment.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
Unbounded Upper Index Assignment.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
Bounded with Positive Size?
Reimplemented in ObjexxFCL::DynamicIndexRange.
Referenced by ObjexxFCL::DynamicIndexRange::positive().
|
inline |
|
inline |
Size.
References size_.
Referenced by ObjexxFCL::FArray1A< T >::dimension_argument(), ObjexxFCL::FArray2A< T >::dimension_argument(), ObjexxFCL::FArray3A< T >::dimension_argument(), ObjexxFCL::FArray4A< T >::dimension_argument(), ObjexxFCL::FArray5A< T >::dimension_argument(), ObjexxFCL::FArray6A< T >::dimension_argument(), ObjexxFCL::FArray1P< T >::dimension_proxy(), ObjexxFCL::FArray2P< T >::dimension_proxy(), ObjexxFCL::FArray3P< T >::dimension_proxy(), ObjexxFCL::FArray4P< T >::dimension_proxy(), ObjexxFCL::FArray5P< T >::dimension_proxy(), ObjexxFCL::FArray6P< T >::dimension_proxy(), ObjexxFCL::FArray2D< T >::dimension_real(), ObjexxFCL::FArray3D< T >::dimension_real(), ObjexxFCL::FArray4D< T >::dimension_real(), ObjexxFCL::FArray5D< T >::dimension_real(), ObjexxFCL::FArray6D< T >::dimension_real(), ObjexxFCL::KeyFArray2D< T >::dimension_real(), ObjexxFCL::KeyFArray3D< T >::dimension_real(), ObjexxFCL::KeyFArray4D< T >::dimension_real(), ObjexxFCL::KeyFArray5D< T >::dimension_real(), ObjexxFCL::KeyFArray6D< T >::dimension_real(), ObjexxFCL::FArray2D< T >::setup_real(), ObjexxFCL::FArray3D< T >::setup_real(), ObjexxFCL::FArray4D< T >::setup_real(), ObjexxFCL::FArray5D< T >::setup_real(), ObjexxFCL::FArray6D< T >::setup_real(), ObjexxFCL::KeyFArray2D< T >::setup_real(), ObjexxFCL::KeyFArray3D< T >::setup_real(), ObjexxFCL::KeyFArray4D< T >::setup_real(), ObjexxFCL::KeyFArray5D< T >::setup_real(), ObjexxFCL::KeyFArray6D< T >::setup_real(), ObjexxFCL::KeyFArray1D< T >::size1(), ObjexxFCL::FArray1A< T >::size1(), ObjexxFCL::FArray1D< T >::size1(), ObjexxFCL::FArray1P< T >::size1(), ObjexxFCL::KeyFArray2D< T >::size2(), ObjexxFCL::FArray2A< T >::size2(), ObjexxFCL::FArray2D< T >::size2(), ObjexxFCL::FArray2P< T >::size2(), ObjexxFCL::KeyFArray3D< T >::size3(), ObjexxFCL::FArray3A< T >::size3(), ObjexxFCL::FArray3D< T >::size3(), ObjexxFCL::FArray3P< T >::size3(), ObjexxFCL::FArray4A< T >::size4(), ObjexxFCL::FArray4P< T >::size4(), ObjexxFCL::KeyFArray4D< T >::size4(), ObjexxFCL::FArray4D< T >::size4(), ObjexxFCL::FArray5A< T >::size5(), ObjexxFCL::FArray5P< T >::size5(), ObjexxFCL::KeyFArray5D< T >::size5(), ObjexxFCL::FArray5D< T >::size5(), ObjexxFCL::FArray6A< T >::size6(), ObjexxFCL::FArray6D< T >::size6(), ObjexxFCL::FArray6P< T >::size6(), ObjexxFCL::KeyFArray6D< T >::size6(), and ObjexxFCL::FArray< T >::size_of().
|
inlineprotected |
Swap.
References test.T110_numeric::I, l_, size_, swap(), and u_.
Referenced by ObjexxFCL::DynamicIndexRange::swap(), ObjexxFCL::StaticIndexRange::swap(), and ObjexxFCL::DynamicIndexRange::swap_no_notify().
|
inline |
Upper Index.
References u_, and u_initialized().
Referenced by ObjexxFCL::StaticIndexRange::u(), ObjexxFCL::DynamicIndexRange::u(), ObjexxFCL::DynamicIndexRange::u_no_notify(), and ObjexxFCL::DynamicIndexRange::update().
|
inlinevirtual |
Upper Index Set.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
Unbounded Upper Index Set.
Reimplemented in ObjexxFCL::StaticIndexRange, and ObjexxFCL::DynamicIndexRange.
|
inlineprotectedvirtual |
Upper Dimension Clone.
Reimplemented in ObjexxFCL::DynamicIndexRange.
|
inlinevirtual |
|
inlinevirtual |
Unbounded?
Reimplemented in ObjexxFCL::DynamicIndexRange.
Referenced by ObjexxFCL::DynamicIndexRange::unbounded().
|
inline |
Upper Index (Zero if Uninitialized)
References u_.
|
friend |
|
friend |
IndexRange != IndexRange.
|
friend |
|
friend |
Stream Output.
|
friend |
IndexRange <= IndexRange.
|
friend |
IndexRange == IndexRange.
|
friend |
|
friend |
IndexRange >= IndexRange.
|
friend |
Stream Input.
|
friend |
|
private |
Lower index.
Referenced by assign(), ObjexxFCL::StaticIndexRange::assign_value_of(), bounded(), bounded_value(), clear(), contain(), ObjexxFCL::DynamicIndexRange::contain(), ObjexxFCL::DynamicIndexRange::contain_nic(), contains(), ObjexxFCL::DynamicIndexRange::contains(), intersect(), ObjexxFCL::DynamicIndexRange::intersect(), ObjexxFCL::DynamicIndexRange::intersect_nic(), intersects(), l(), ObjexxFCL::StaticIndexRange::l(), legal(), ObjexxFCL::DynamicIndexRange::legal(), ObjexxFCL::DynamicIndexRange::legal_dynamic(), legal_static(), lz(), not_unbounded(), offset(), ObjexxFCL::StaticIndexRange::offset(), operator=(), positive(), positive_value(), swap(), u(), unbounded(), and unbounded_value().
|
static |
Referenced by assign(), contain(), contains(), ObjexxFCL::DynamicIndexRange::contains(), operator=(), and u().
|
private |
Size (npos iff unbounded)
Referenced by assign(), ObjexxFCL::StaticIndexRange::assign_value_of(), clear(), contain(), contains(), ObjexxFCL::DynamicIndexRange::contains(), intersect(), l(), operator=(), size(), ObjexxFCL::DynamicIndexRange::size_dynamic(), swap(), and u().
|
private |
Upper index.
Referenced by assign(), ObjexxFCL::StaticIndexRange::assign_value_of(), bounded(), bounded_value(), clear(), contain(), ObjexxFCL::DynamicIndexRange::contain(), ObjexxFCL::DynamicIndexRange::contain_nic(), contains(), ObjexxFCL::DynamicIndexRange::contains(), intersect(), ObjexxFCL::DynamicIndexRange::intersect(), ObjexxFCL::DynamicIndexRange::intersect_nic(), intersects(), l(), legal(), ObjexxFCL::DynamicIndexRange::legal(), ObjexxFCL::DynamicIndexRange::legal_dynamic(), legal_static(), not_unbounded(), operator=(), positive(), positive_value(), swap(), u(), ObjexxFCL::StaticIndexRange::u(), unbounded(), unbounded_value(), and uz().
|
static |