1 #ifndef __JTOOLS__JROUTER__ 
    2 #define __JTOOLS__JROUTER__ 
   15 namespace JPP { 
using namespace JTOOLS; }
 
   19   using JLANG::JComparisonAvailable;
 
   25   template<class JAddress_t, bool has_eq = JComparisonAvailable<JAddress_t>::has_eq>
 
   32   template<
class JAddress_t>
 
   34     protected std::deque<JAddress_t>
 
   44       std::deque<JAddress_t>()
 
   62       static JAddress_t address;
 
   78         this->push_back(address);
 
   84         for ( ; 
id < this->first; --(this->first)) {
 
   85           this->push_front(getDefaultAddress());
 
   88         const unsigned int index = (
unsigned int) (
id - this->first);
 
   90         while (index >= this->size()) {
 
   91           this->push_back(getDefaultAddress());
 
   94         this->at(index) = address;
 
  107       return (
id >= this->first && id < this->first + (
int) this->size());
 
  117     const JAddress_t& 
get(
const int id) 
const 
  119       return this->at(
id - this->first);
 
  130   template<
class JAddress_t>
 
  132     public JRouter<JAddress_t, false>
 
  194         return __is_valid && address == __address;
 
  221       defaultAddress(address)
 
  232       return defaultAddress.is_valid();
 
  243       return defaultAddress.getAddress();
 
  254       defaultAddress = JAddress(address);
 
  264     bool has(
const int id)
 const 
  266       return (this->in_range(
id) && !this->defaultAddress.equals(this->get(
id)));
 
JArgument< T >::argument_type argument_type