Go to the documentation of this file. 1 #ifndef __JTOOLS__JROUTER__
2 #define __JTOOLS__JROUTER__
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)) {
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)));
Test availability of comparison operators of non-composite data types.
JArgument< T >::argument_type argument_type
void push_front(std::vector< T > &vec, T &value)
Put value in front of data.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).