@@ -36,10 +36,11 @@ DECLARE_SOA_TABLE(Points, "TST", "POINTS", test::X, test::Y);
3636
3737namespace test
3838{
39+ DECLARE_SOA_COLUMN (SomeBool, someBool, bool , " someBool" );
3940DECLARE_SOA_COLUMN (Color, color, int32_t , " color" );
4041} // namespace test
4142
42- DECLARE_SOA_TABLE (Infos, " TST" , " INFOS" , test::Color);
43+ DECLARE_SOA_TABLE (Infos, " TST" , " INFOS" , test::Color, test::SomeBool );
4344
4445namespace test
4546{
@@ -456,11 +457,15 @@ BOOST_AUTO_TEST_CASE(TestDereference)
456457
457458 TableBuilder builderA2;
458459 auto infoWriter = builderA2.cursor <Infos>();
459- infoWriter (0 , 0 );
460- infoWriter (0 , 1 );
461- infoWriter (0 , 4 );
460+ infoWriter (0 , 0 , 1 );
461+ infoWriter (0 , 1 , 0 );
462+ infoWriter (0 , 4 , 1 );
462463 auto infosT = builderA2.finalize ();
463464 Infos infos{infosT};
465+ BOOST_REQUIRE_EQUAL (infos.begin ().someBool (), true );
466+ BOOST_REQUIRE_EQUAL ((infos.begin () + 1 ).someBool (), false );
467+ BOOST_REQUIRE_EQUAL ((infos.begin () + 2 ).someBool (), true );
468+ BOOST_REQUIRE_EQUAL ((infos.begin () + 2 ).color (), 4 );
464469 BOOST_REQUIRE_EQUAL (infosT->num_rows (), 3 );
465470
466471 TableBuilder builderB;
@@ -485,6 +490,7 @@ BOOST_AUTO_TEST_CASE(TestDereference)
485490 i.bindExternalIndices (&points, &infos);
486491 BOOST_CHECK_EQUAL (i.n (), 10 );
487492 BOOST_CHECK_EQUAL (i.info ().color (), 4 );
493+ BOOST_CHECK_EQUAL (i.info ().someBool (), true );
488494 BOOST_CHECK_EQUAL (i.pointA ().x (), 0 );
489495 BOOST_CHECK_EQUAL (i.pointA ().y (), 0 );
490496 BOOST_CHECK_EQUAL (i.pointB ().x (), 3 );
@@ -494,6 +500,7 @@ BOOST_AUTO_TEST_CASE(TestDereference)
494500 auto j = segments.begin ();
495501 BOOST_CHECK_EQUAL (j.n (), 10 );
496502 BOOST_CHECK_EQUAL (j.info ().color (), 4 );
503+ BOOST_CHECK_EQUAL (j.info ().someBool (), true );
497504 BOOST_CHECK_EQUAL (j.pointA ().x (), 0 );
498505 BOOST_CHECK_EQUAL (j.pointA ().y (), 0 );
499506 BOOST_CHECK_EQUAL (j.pointB ().x (), 3 );
0 commit comments