NABLA
Nabla Ain't Basic Linear Algebra
|
Reference tag. More...
Reference tag.
reference
must be mutable, i.e. one can change (or just get) object's elements using subscript operator. All changes are reflected on the referred object. Formally this concept can be thought of as a refinement of tag::expression
.
Here is a concept description of a matrix reference class.
And here is one for a vector reference class.
All entities are fully analogous to the case of tag::storage
.
For description of value_type
, reference
, const_reference
, copy constructor, subscript operator, rows()
, cols()
and size()
members see Storage Concept Description.
A reference object can refer to an arbitrary object and even to its part. In other words a reference is an object with fixed structure but with mutable elements. Thus to preserve the invariants and structure of the referred object it is forbidden to directly assign an expression (inluding another reference) to the reference. That's why the copy assignment operator must be hidden (declared private and not implemented). It states that copy assignment is not the part of the reference interface, however it may be implemented in user types as convenience function.