boost range dynamic joined_range
Hello,
How can I create a Boost Range for multiple vectors without setting any limitation to the number of vector at compile time?
Using Boost 1.70 and it is not an option to store all data in one vector.
The following code compile on Visual Studio 2017 and will output the number 1 to 9. However, this code is compiled to support 3 vectors inside the foo struct. In order to support 4 vectors I would need to re-compile the code. The number of vectors is only known at runtime. How can this code be improved to support a dynamic number of vectors ?
#include <iostream>
#include <vector>
#include
On Sun, 5 Apr 2020 at 14:31, Lars Sunde via Boost-users < boost-users@lists.boost.org> wrote:
The following code compile on Visual Studio 2017 and will output the number 1 to 9.
This code will do so: https://stackoverflow.com/a/50660987 . degski -- @systemdeg "We value your privacy, click here!" Sod off! - degski "Anyone who believes that exponential growth can go on forever in a finite world is either a madman or an economist" - Kenneth E. Boulding "Growth for the sake of growth is the ideology of the cancer cell" - Edward P. Abbey
Appreciate the response but do not think this answers my question.
Maybe I did not explain myself properly. I would like the foo object to return a (boost) range object that the caller can traverse without knowing the details of the internal structure. The foo object might contain a configurable number of vector of int.
So in one scenario foo will be initalized like this;
vec = { {1,2,3}, {4,5,6}, {7,8,9} };
and in another scenario like this;
vec = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} };
I do not want to create another vector "master" that contains all int.
Appreciate any input 🙂
kind regards, Lars
________________________________
Fra: degski
This stack-overflow quarion and answer looks relevant. It seems as if boost could benefit from a flattening_iterator type: https://stackoverflow.com/questions/3623082/flattening-iterator On Mon, 6 Apr 2020 at 08:41, Lars Sunde via Boost-users < boost-users@lists.boost.org> wrote:
Appreciate the response but do not think this answers my question.
Maybe I did not explain myself properly. I would like the foo object to return a (boost) range object that the caller can traverse without knowing the details of the internal structure. The foo object might contain a configurable number of vector of int.
So in one scenario foo will be initalized like this; vec = { {1,2,3}, {4,5,6}, {7,8,9} }; and in another scenario like this; vec = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} };
I do not want to create another vector "master" that contains all int.
Appreciate any input 🙂
kind regards, Lars
------------------------------ *Fra:* degski
*Sendt:* søndag 5. april 2020 23:08 *Til:* Boost users list *Kopi:* Lars Sunde *Emne:* Re: [Boost-users] boost range dynamic joined_range On Sun, 5 Apr 2020 at 14:31, Lars Sunde via Boost-users < boost-users@lists.boost.org> wrote:
The following code compile on Visual Studio 2017 and will output the number 1 to 9.
This code will do so: https://stackoverflow.com/a/50660987 .
degski -- @systemdeg "We value your privacy, click here!" Sod off! - degski "Anyone who believes that exponential growth can go on forever in a finite world is either a madman or an economist" - Kenneth E. Boulding "Growth for the sake of growth is the ideology of the cancer cell" - Edward P. Abbey _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
participants (3)
-
degski
-
Lars Sunde
-
Richard Hodges