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;
73 static_cast<std::deque<JAddress_t>&
>(*this).clear();
93 this->resize(router.size());
94 this->
first = router.first;
109 this->push_back(address);
113 }
else if (id < this->
first) {
115 this->insert(this->begin(), this->first -
id, getDefaultAddress());
119 this->at(0) = address;
123 const size_t index = (size_t) (
id - this->first);
125 if (index >= this->size()) {
126 this->resize(index + 1, getDefaultAddress());
129 this->at(index) = address;
142 return (
id >= this->
first && id < this->
first + (
int) this->size());
152 const JAddress_t&
get(
const int id)
const
154 return this->at(
id - this->
first);
165 template<
class JAddress_t>
167 public JRouter<JAddress_t, false>
229 return __is_valid && address == __address;
256 defaultAddress(address)
267 return defaultAddress.is_valid();
278 return defaultAddress.getAddress();
289 defaultAddress = JAddress(address);
299 bool has(
const int id)
const
301 return (this->in_range(
id) && !this->defaultAddress.equals(this->get(
id)));
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
JArgument< T >::argument_type argument_type