O uso da classe range será exclusivamente de matrix, por este motivo decidi que ela deveria ser implementada dentro do escopo da classe, já que ela é um comportamento da mesma. A ideia surgiu de implementações de árvores binárias e listas encadeadas, ambas as classes possuem objetos que auxiliam e caracterizam o comportamento da mesma, no caso da árvore seria uma classe ou struct node(nó) e no caso da lista uma classe ou struct cell(célula). Essas classes não tem significado fora da classe que as implementam e são completamente inúteis. No caso gostaria que a implementação seguisse os seguintes padrões para classes auxialres:
class C {
public:
C() (sometype somearg) : somemember(somearg) {}; /*A implementação dos construtores deve ser feita em lista, isso facilita o C++ a reconhecer os objetos.*/
~C();