#ifndef __macrovsa_Number__
#define __macrovsa_Number__
#include "Symbol.hpp"
namespace macrovsa {
/**
* @class Number
* @description Implements a macroscopic ersatz of a VSA positive integer.
* - It is implemented via successive [Binding](./Binding.html), without using a C++ `std::list`.
*/
class Number {
public:
/**
* @function getInt
* @memberof Number
* @static
* @description Returns the Symbol corresponding to a given positive integer.
* - Here, instead of the usual iterative binding solution, we cheat by using string representation of numbers.
* - Therefore we do not have the `s_{n+p} = B_{s_0}^p s_n` recurrence property for a symbol `s_n` representing `n`.
* @param {uint} value The symbol numeric value. Reasonnable value is between 0 and about 1000.
* @return {Symbol} A reference to the corresponding value.
*/
static const Symbol& getInt(unsigned int value);
};
}
#endif