Holds the coefficients of pascal's triangle up to n = 5. More...
#include <pascals_triangle.hpp>
Public Types | |
typedef Array< int, 21 > ::const_iterator | const_iterator |
Utilise the array's iterator for parsing the triangle. | |
Public Member Functions | |
const_iterator | begin (unsigned int index=0) const |
Iterator generator for diagonals of pascals triangle [begin]. | |
const_iterator | end (unsigned int index=0) const |
Iterator generator for diagonals of pascals triangle [begin]. | |
PascalsTriangle () | |
Default constructor. | |
virtual | ~PascalsTriangle () |
Private Attributes | |
Array< int, 21 > | coefficients |
Friends | |
template<typename OutputStream > | |
OutputStream & | operator<< (OutputStream &ostream, const PascalsTriangle< 5 > &triangle) |
Insertion operator for streaming output from pascal's triangle of degree 5. |
Holds the coefficients of pascal's triangle up to n = 5.
Stores the coefficients of all diagonals up until row 5 - i.e. all coefficients up to and including those for (x+y)^0 to (x+y)^5. This is used fairly often, so defined here to avoid the slow calculation of the general case.
Definition at line 154 of file pascals_triangle.hpp.
typedef Array<int,21>::const_iterator ecl::PascalsTriangle< 5 >::const_iterator |
Utilise the array's iterator for parsing the triangle.
Definition at line 166 of file pascals_triangle.hpp.
ecl::PascalsTriangle< 5 >::PascalsTriangle | ( | ) |
Default constructor.
This constructor speeds things up by initialising the triangle internally with the coefficients directly.
Definition at line 51 of file pascals_triangle.cpp.
virtual ecl::PascalsTriangle< 5 >::~PascalsTriangle | ( | ) | [inline, virtual] |
Definition at line 166 of file pascals_triangle.hpp.
PascalsTriangle< 5 >::const_iterator ecl::PascalsTriangle< 5 >::begin | ( | unsigned int | index = 0 | ) | const |
Iterator generator for diagonals of pascals triangle [begin].
Return a const iterator pointing to the first element of the specified diagonal.
index | : the diagonal to be iterated. |
Definition at line 60 of file pascals_triangle.cpp.
PascalsTriangle< 5 >::const_iterator ecl::PascalsTriangle< 5 >::end | ( | unsigned int | index = 0 | ) | const |
Iterator generator for diagonals of pascals triangle [begin].
Return a const iterator just past the last element of the specified diagonal.
index | : the diagonal to be iterated. |
Definition at line 67 of file pascals_triangle.cpp.
OutputStream& operator<< | ( | OutputStream & | ostream, |
const PascalsTriangle< 5 > & | triangle | ||
) | [friend] |
Insertion operator for streaming output from pascal's triangle of degree 5.
Insertion operator for streaming output from pascal's triangle.
ostream | : the output stream being used. |
triangle | : the pascal triangle object. |
Definition at line 323 of file pascals_triangle.hpp.
Array<int,21> ecl::PascalsTriangle< 5 >::coefficients [private] |
Definition at line 196 of file pascals_triangle.hpp.