1 // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com) 2 // (C) Copyright 2004-2007 Jonathan Turkanis 3 // Distributed under the Boost Software License, Version 1.0. (See accompanying 4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) 5 6 // See http://www.boost.org/libs/iostreams for documentation. 7 8 #ifndef BOOST_IOSTREAMS_TEST_SEQUENCE_HPP_INCLUDED 9 #define BOOST_IOSTREAMS_TEST_SEQUENCE_HPP_INCLUDED 10 11 #include <algorithm> 12 #include <iterator> 13 #include <string.h> // strlen. 14 #include <vector> 15 #include <boost/iostreams/detail/default_arg.hpp> 16 #include "./constants.hpp" 17 18 namespace boost { namespace iostreams { namespace test { 19 20 template<typename Ch = BOOST_IOSTREAMS_DEFAULT_ARG(char) > 21 struct test_sequence : public std::vector<Ch> { test_sequenceboost::iostreams::test::test_sequence22 test_sequence() 23 { 24 const Ch* buf = test::detail::data((Ch*)0); 25 this->reserve(data_reps * data_length()); 26 for (int z = 0; z < data_reps; ++z) 27 std::copy(buf, buf + data_length(), std::back_inserter(*this)); 28 } 29 }; 30 31 const char* text = 32 "The Lord spoke to Moses saying: Speak to the children of " 33 "Israel, and have them take for Me an offering; from every " 34 "person whose heart inspires him to generosity, you shall take " 35 "My offering. And this is the offering that you shall take " 36 "from them: gold, silver, and copper; blue, purple, and " 37 "crimson wool; linen and goat hair; ram skins dyed red, " 38 "tachash skins, and acacia wood; oil for lighting, spices for " 39 "the anointing oil and for the incense; shoham stones and " 40 "filling stones for the ephod and for the choshen. And they " 41 "shall make Me a sanctuary and I will dwell in their midst " 42 "according to all that I show you, the pattern of the Mishkan " 43 "and the pattern of all its vessels; and so shall you do. They " 44 "shall make an ark of acacia wood, two and a half cubits its " 45 "length, a cubit and a half its width, and a cubit and a half " 46 "its height. And you shall overlay it with pure gold; from " 47 "inside and from outside you shall overlay it, and you shall " 48 "make upon it a golden crown all around. And you shall cast " 49 "four golden rings for it, and you shall place them upon its " 50 "four corners, two rings on its one side, and two rings on its " 51 "other side. And you shall make poles of acacia wood and you " 52 "shall overlay them with gold. And you shall bring the poles " 53 "into the rings on the sides of the ark, to carry the ark with " 54 "them. The poles of the ark shall be in the rings; they shall " 55 "not be removed from it. And you shall place into the ark the " 56 "testimony, which I will give you. " 57 "And you shall make an ark cover of pure gold, two and a half " 58 "cubits its length and a cubit and a half its width. And you " 59 "shall make two golden cherubim; you shall make them of " 60 "hammered work, from the two ends of the ark cover. And make " 61 "one cherub from the one end and the other cherub from the " 62 "other end; from the ark cover you shall make the cherubim on " 63 "its two ends. The cherubim shall have their wings spread " 64 "upwards, shielding the ark cover with their wings, with their " 65 "faces toward one another; [turned] toward the ark cover shall " 66 "be the faces of the cherubim. And you shall place the ark " 67 "cover on the ark from above, and into the ark you shall place " 68 "the testimony, which I will give you. I will arrange My " 69 "meetings with you there, and I will speak with you from atop " 70 "the ark cover from between the two cherubim that are upon the " 71 "Ark of the Testimony, all that I will command you unto the " 72 "children of Israel. And you shall make a table of acacia " 73 "wood, two cubits its length, one cubit its width, and a cubit " 74 "and a half its height. And you shall overlay it with pure " 75 "gold, and you shall make for it a golden crown all around. " 76 "And you shall make for it a frame a handbreadth [wide] all " 77 "around, and you shall make a golden crown for its frame all " 78 "around. And you shall make for it four golden rings, and you " 79 "shall place the rings on the four corners that are on its " 80 "four legs. The rings shall be opposite the frame as holders " 81 "for the poles [with which] to carry the table. And you shall " 82 "make the poles of acacia wood, and you shall overlay them " 83 "with gold, and the table shall be carried with them. And you " 84 "shall make its forms, its spoons, its half pipes, and its " 85 "supports with which it will be covered; of pure gold you " 86 "shall make them. And you shall place on the table showbread " 87 "before Me at all times. " 88 "And you shall make a menorah of pure gold. The menorah shall " 89 "be made of hammered work; its base and its stem, its goblets, " 90 "its knobs, and its flowers shall [all] be [one piece] with " 91 "it. And six branches coming out of its sides: three menorah " 92 "branches from its one side and three menorah branches from " 93 "its second side. Three decorated goblets on one branch, a " 94 "knob and a flower, and three decorated goblets on one branch, " 95 "a knob and a flower; so for the six branches that come out of " 96 "the menorah. And on [the stem of] the menorah [shall be] four " 97 "decorated goblets, its knobs and its flowers. And a knob under " 98 "the two branches from it, and a knob under the two branches " 99 "from it, and a knob under the two branches from it; so for the " 100 "six branches that come out of the menorah. Their knobs and " 101 "their branches shall [all] be [one piece] with it; all of it " 102 103 "[shall be] one hammered mass of pure gold. And you shall make " 104 "its lamps seven, and he shall kindle its lamps [so that they] " 105 "shed light toward its face. And its tongs and its scoops " 106 "[shall be] of pure gold. He shall make it of a talent of pure " 107 "gold, with all these implements. Now see and make according " 108 "to their pattern, which you are shown on the mountain. " 109 "And the Mishkan you shall make out of ten curtains " 110 "[consisting] of twisted fine linen, and blue, purple, and " 111 "crimson wool. A cherubim design of the work of a master " 112 "weaver you shall make them. The length of one curtain [shall " 113 "be] twenty eight cubits, and the width of one curtain [shall " 114 "be] four cubits; the same measure for all the curtains. Five " 115 "of these curtains shall be joined to one another, and [the " 116 "other] five curtains shall [also] be joined to one another. " 117 "And you shall make loops of blue wool on the edge of one " 118 "curtain [that is] at the edge of the [first] set, and so " 119 "shall you do on the edge of the outermost curtain of the " 120 "second set. You shall make fifty loops on [the edge of] one " 121 "curtain, and you shall make fifty loops on the edge of the " 122 "curtain in the second set; the loops shall correspond to one " 123 "another. And you shall make fifty golden clasps, and you " 124 "shall fasten the curtains to one another with the clasps; so " 125 "shall the Mishkan become one. And [then] you shall make " 126 "curtains of goat hair for a tent over the Mishkan; you shall " 127 "make eleven curtains. The length of one curtain [shall be] " 128 "thirty cubits, and the width of one curtain four cubits; the " 129 "same measure for the eleven curtains. And you shall join the " 130 "five curtains by themselves, and the [other] six curtains by " 131 "themselves; and you shall fold the sixth curtain before the " 132 "front of the tent. And you shall make fifty loops on the edge " 133 "of one curtain, [which is] at the edge of the [first] set, and " 134 "fifty loops on the edge of the [outermost] curtain of the " 135 "second set. And you shall make fifty copper clasps; you shall " 136 "bring the clasps into the loops, and you shall fasten the " 137 "tent together so that it will become one. And the overhanging " 138 "excess in the curtains of the tent half of the extra curtain " 139 "shall hang over the rear of the Mishkan. And the cubit from " 140 "here and the cubit from there of the excess in the length of " 141 "the curtains of the tent shall hang over the sides of the " 142 "Mishkan from here and from there to cover it. And you shall " 143 "make a covering for the tent of ram skins dyed red and a " 144 "covering of tachash skins above."; 145 146 struct text_sequence : public std::vector<char> { text_sequenceboost::iostreams::test::text_sequence147 text_sequence() 148 { 149 const char* c = 150 "The Lord spoke to Moses saying: Speak to the children of " 151 "Israel, and have them take for Me an offering; from every " 152 "person whose heart inspires him to generosity, you shall take " 153 "My offering. And this is the offering that you shall take " 154 "from them: gold, silver, and copper; blue, purple, and " 155 "crimson wool; linen and goat hair; ram skins dyed red, " 156 "tachash skins, and acacia wood; oil for lighting, spices for " 157 "the anointing oil and for the incense; shoham stones and " 158 "filling stones for the ephod and for the choshen. And they " 159 "shall make Me a sanctuary and I will dwell in their midst " 160 "according to all that I show you, the pattern of the Mishkan " 161 "and the pattern of all its vessels; and so shall you do. They " 162 "shall make an ark of acacia wood, two and a half cubits its " 163 "length, a cubit and a half its width, and a cubit and a half " 164 "its height. And you shall overlay it with pure gold; from " 165 "inside and from outside you shall overlay it, and you shall " 166 "make upon it a golden crown all around. And you shall cast " 167 "four golden rings for it, and you shall place them upon its " 168 "four corners, two rings on its one side, and two rings on its " 169 "other side. And you shall make poles of acacia wood and you " 170 "shall overlay them with gold. And you shall bring the poles " 171 "into the rings on the sides of the ark, to carry the ark with " 172 "them. The poles of the ark shall be in the rings; they shall " 173 "not be removed from it. And you shall place into the ark the " 174 "testimony, which I will give you. " 175 "And you shall make an ark cover of pure gold, two and a half " 176 "cubits its length and a cubit and a half its width. And you " 177 "shall make two golden cherubim; you shall make them of " 178 "hammered work, from the two ends of the ark cover. And make " 179 "one cherub from the one end and the other cherub from the " 180 "other end; from the ark cover you shall make the cherubim on " 181 "its two ends. The cherubim shall have their wings spread " 182 "upwards, shielding the ark cover with their wings, with their " 183 "faces toward one another; [turned] toward the ark cover shall " 184 "be the faces of the cherubim. And you shall place the ark " 185 "cover on the ark from above, and into the ark you shall place " 186 "the testimony, which I will give you. I will arrange My " 187 "meetings with you there, and I will speak with you from atop " 188 "the ark cover from between the two cherubim that are upon the " 189 "Ark of the Testimony, all that I will command you unto the " 190 "children of Israel. And you shall make a table of acacia " 191 "wood, two cubits its length, one cubit its width, and a cubit " 192 "and a half its height. And you shall overlay it with pure " 193 "gold, and you shall make for it a golden crown all around. " 194 "And you shall make for it a frame a handbreadth [wide] all " 195 "around, and you shall make a golden crown for its frame all " 196 "around. And you shall make for it four golden rings, and you " 197 "shall place the rings on the four corners that are on its " 198 "four legs. The rings shall be opposite the frame as holders " 199 "for the poles [with which] to carry the table. And you shall " 200 "make the poles of acacia wood, and you shall overlay them " 201 "with gold, and the table shall be carried with them. And you " 202 "shall make its forms, its spoons, its half pipes, and its " 203 "supports with which it will be covered; of pure gold you " 204 "shall make them. And you shall place on the table showbread " 205 "before Me at all times. " 206 "And you shall make a menorah of pure gold. The menorah shall " 207 "be made of hammered work; its base and its stem, its goblets, " 208 "its knobs, and its flowers shall [all] be [one piece] with " 209 "it. And six branches coming out of its sides: three menorah " 210 "branches from its one side and three menorah branches from " 211 "its second side. Three decorated goblets on one branch, a " 212 "knob and a flower, and three decorated goblets on one branch, " 213 "a knob and a flower; so for the six branches that come out of " 214 "the menorah. And on [the stem of] the menorah [shall be] four " 215 "decorated goblets, its knobs and its flowers. And a knob under " 216 "the two branches from it, and a knob under the two branches " 217 "from it, and a knob under the two branches from it; so for the " 218 "six branches that come out of the menorah. Their knobs and " 219 "their branches shall [all] be [one piece] with it; all of it " 220 221 "[shall be] one hammered mass of pure gold. And you shall make " 222 "its lamps seven, and he shall kindle its lamps [so that they] " 223 "shed light toward its face. And its tongs and its scoops " 224 "[shall be] of pure gold. He shall make it of a talent of pure " 225 "gold, with all these implements. Now see and make according " 226 "to their pattern, which you are shown on the mountain. " 227 "And the Mishkan you shall make out of ten curtains " 228 "[consisting] of twisted fine linen, and blue, purple, and " 229 "crimson wool. A cherubim design of the work of a master " 230 "weaver you shall make them. The length of one curtain [shall " 231 "be] twenty eight cubits, and the width of one curtain [shall " 232 "be] four cubits; the same measure for all the curtains. Five " 233 "of these curtains shall be joined to one another, and [the " 234 "other] five curtains shall [also] be joined to one another. " 235 "And you shall make loops of blue wool on the edge of one " 236 "curtain [that is] at the edge of the [first] set, and so " 237 "shall you do on the edge of the outermost curtain of the " 238 "second set. You shall make fifty loops on [the edge of] one " 239 "curtain, and you shall make fifty loops on the edge of the " 240 "curtain in the second set; the loops shall correspond to one " 241 "another. And you shall make fifty golden clasps, and you " 242 "shall fasten the curtains to one another with the clasps; so " 243 "shall the Mishkan become one. And [then] you shall make " 244 "curtains of goat hair for a tent over the Mishkan; you shall " 245 "make eleven curtains. The length of one curtain [shall be] " 246 "thirty cubits, and the width of one curtain four cubits; the " 247 "same measure for the eleven curtains. And you shall join the " 248 "five curtains by themselves, and the [other] six curtains by " 249 "themselves; and you shall fold the sixth curtain before the " 250 "front of the tent. And you shall make fifty loops on the edge " 251 "of one curtain, [which is] at the edge of the [first] set, and " 252 "fifty loops on the edge of the [outermost] curtain of the " 253 "second set. And you shall make fifty copper clasps; you shall " 254 "bring the clasps into the loops, and you shall fasten the " 255 "tent together so that it will become one. And the overhanging " 256 "excess in the curtains of the tent half of the extra curtain " 257 "shall hang over the rear of the Mishkan. And the cubit from " 258 "here and the cubit from there of the excess in the length of " 259 "the curtains of the tent shall hang over the sides of the " 260 "Mishkan from here and from there to cover it. And you shall " 261 "make a covering for the tent of ram skins dyed red and a " 262 "covering of tachash skins above."; 263 std::vector<char>::size_type len = strlen(c); 264 this->reserve(len); 265 this->insert(this->end(), c, c + len); 266 } 267 }; 268 269 270 //----------------------------------------------------------------------------// 271 272 } } } // End namespaces test, iostreams, boost. 273 274 #endif // #ifndef BOOST_IOSTREAMS_TEST_SEQUENCE_HPP_INCLUDED 275