BitSet building convenience
Allow set()/clear()/flip() to be chained. Support c++11 initializer lists.
This commit is contained in:
@@ -23,10 +23,13 @@
|
||||
|
||||
#include <pv/bitSet.h>
|
||||
#include <pv/serializeHelper.h>
|
||||
#include <pv/pvUnitTest.h>
|
||||
|
||||
#include <epicsUnitTest.h>
|
||||
#include <testMain.h>
|
||||
|
||||
namespace {
|
||||
|
||||
using namespace epics::pvData;
|
||||
using std::string;
|
||||
|
||||
@@ -37,6 +40,18 @@ static string toString(BitSet& bitSet)
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
void testInitialize()
|
||||
{
|
||||
testDiag("testInitialize()");
|
||||
#if __cplusplus>=201103L
|
||||
testOk1(BitSet().size()==0);
|
||||
testOk1(BitSet({}).size()==0);
|
||||
testEqual(BitSet().set(1).set(5).set(500), BitSet({1, 5, 500}));
|
||||
#else
|
||||
testSkip(3, "Not c++11");
|
||||
#endif
|
||||
}
|
||||
|
||||
static void testGetSetClearFlip()
|
||||
{
|
||||
testDiag("testGetSetClearFlip... ");
|
||||
@@ -292,9 +307,12 @@ static void testSerialize()
|
||||
#undef TOFRO
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
MAIN(testBitSet)
|
||||
{
|
||||
testPlan(87);
|
||||
testPlan(90);
|
||||
testInitialize();
|
||||
testGetSetClearFlip();
|
||||
testOperators();
|
||||
testLogical();
|
||||
|
||||
Reference in New Issue
Block a user