mirror of
https://github.com/ETLCPP/etl.git
synced 2026-11-09 14:49:53 +08:00
Merge branch 'feature/message_router_registry' into development
This commit is contained in:
commit
487d92bbe3
@ -113,13 +113,25 @@ namespace etl
|
||||
}
|
||||
|
||||
//********************************************
|
||||
etl::imessage_router* operator *()
|
||||
etl::imessage_router& operator *()
|
||||
{
|
||||
return *(itr->second);
|
||||
}
|
||||
|
||||
//********************************************
|
||||
const etl::imessage_router& operator *() const
|
||||
{
|
||||
return *(itr->second);
|
||||
}
|
||||
|
||||
//********************************************
|
||||
etl::imessage_router* operator ->()
|
||||
{
|
||||
return itr->second;
|
||||
}
|
||||
|
||||
//********************************************
|
||||
const etl::imessage_router* operator *() const
|
||||
const etl::imessage_router* operator ->() const
|
||||
{
|
||||
return itr->second;
|
||||
}
|
||||
@ -196,7 +208,13 @@ namespace etl
|
||||
}
|
||||
|
||||
//********************************************
|
||||
const etl::imessage_router* operator *() const
|
||||
const etl::imessage_router& operator *() const
|
||||
{
|
||||
return *(itr->second);
|
||||
}
|
||||
|
||||
//********************************************
|
||||
const etl::imessage_router* operator ->() const
|
||||
{
|
||||
return itr->second;
|
||||
}
|
||||
|
||||
@ -316,11 +316,11 @@ namespace
|
||||
|
||||
iterator itr = start;
|
||||
|
||||
CHECK(*itr == &router2);
|
||||
CHECK(&*itr == &router2);
|
||||
++itr;
|
||||
CHECK(*itr == &router2b);
|
||||
CHECK(&*itr == &router2b);
|
||||
++itr;
|
||||
CHECK(*itr == &router2c);
|
||||
CHECK(&*itr == &router2c);
|
||||
++itr;
|
||||
CHECK(itr == end);
|
||||
}
|
||||
@ -356,25 +356,41 @@ namespace
|
||||
etl::message_router_registry<Registry_Size>::const_iterator ceitr = registry.end();
|
||||
etl::message_router_registry<Registry_Size>::const_iterator ceitr2 = registry.cend();
|
||||
|
||||
CHECK_EQUAL(&router1, *bitr++);
|
||||
CHECK_EQUAL(&router1, *cbitr++);
|
||||
CHECK_EQUAL(&router1, *cbitr2++);
|
||||
CHECK_EQUAL(&router1, &*bitr++);
|
||||
CHECK_EQUAL(&router1, &*cbitr++);
|
||||
CHECK_EQUAL(&router1, &*cbitr2++);
|
||||
|
||||
CHECK_EQUAL(&router2, *bitr++);
|
||||
CHECK_EQUAL(&router2, *cbitr++);
|
||||
CHECK_EQUAL(&router2, *cbitr2++);
|
||||
CHECK_EQUAL(&router2, &*bitr++);
|
||||
CHECK_EQUAL(&router2, &*cbitr++);
|
||||
CHECK_EQUAL(&router2, &*cbitr2++);
|
||||
|
||||
CHECK_EQUAL(&router3, *bitr++);
|
||||
CHECK_EQUAL(&router3, *cbitr++);
|
||||
CHECK_EQUAL(&router3, *cbitr2++);
|
||||
CHECK_EQUAL(&router3, &*bitr++);
|
||||
CHECK_EQUAL(&router3, &*cbitr++);
|
||||
CHECK_EQUAL(&router3, &*cbitr2++);
|
||||
|
||||
CHECK_EQUAL(&router4, *bitr++);
|
||||
CHECK_EQUAL(&router4, *cbitr++);
|
||||
CHECK_EQUAL(&router4, *cbitr2++);
|
||||
CHECK_EQUAL(&router4, &*bitr++);
|
||||
CHECK_EQUAL(&router4, &*cbitr++);
|
||||
CHECK_EQUAL(&router4, &*cbitr2++);
|
||||
|
||||
CHECK(bitr == eitr);
|
||||
CHECK(cbitr == ceitr);
|
||||
CHECK(cbitr2 == ceitr2);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_operators)
|
||||
{
|
||||
etl::imessage_router* routers[] = { &router1, &router2, &router3, &router4 };
|
||||
etl::message_router_registry<Registry_Size> registry(std::begin(routers), std::end(routers));
|
||||
|
||||
etl::message_router_registry<Registry_Size>::iterator itr = registry.begin();
|
||||
etl::message_router_registry<Registry_Size>::const_iterator citr = registry.cbegin();
|
||||
|
||||
CHECK_EQUAL(ROUTER1, (*itr).get_message_router_id());
|
||||
CHECK_EQUAL(ROUTER1, itr->get_message_router_id());
|
||||
|
||||
CHECK_EQUAL(ROUTER1, (*citr).get_message_router_id());
|
||||
CHECK_EQUAL(ROUTER1, citr->get_message_router_id());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user