 |
Changeset 3888
- Timestamp:
- 08/18/08 14:54:01
(4 months ago)
- Author:
- keinfarbton
- Message:
merged from trunk -r 3855:3856
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r3724 |
r3888 |
|
| 1 | 1 | module FileBucket; |
|---|
| 2 | 2 | |
|---|
| 3 | | private import tango.io.FileConduit; |
|---|
| | 3 | private import tango.io.device.FileConduit; |
|---|
| 4 | 4 | |
|---|
| 5 | 5 | private import tango.core.Exception; |
|---|
| r2816 |
r3888 |
|
| 2 | 2 | private import tango.io.protocol.Reader, |
|---|
| 3 | 3 | tango.io.protocol.Writer, |
|---|
| 4 | | tango.io.FileConduit; |
|---|
| | 4 | tango.io.device.FileConduit; |
|---|
| 5 | 5 | |
|---|
| 6 | 6 | /******************************************************************************* |
|---|
| r2497 |
r3888 |
|
| 1 | 1 | private import tango.io.Console, |
|---|
| 2 | | tango.io.FileConduit; |
|---|
| | 2 | tango.io.device.FileConduit; |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | /******************************************************************************* |
|---|
| r2465 |
r3888 |
|
| 1 | 1 | |
|---|
| 2 | 2 | private import tango.io.Console, |
|---|
| 3 | | tango.io.FileConduit; |
|---|
| | 3 | tango.io.device.FileConduit; |
|---|
| 4 | 4 | |
|---|
| 5 | 5 | /******************************************************************************* |
|---|
| r2490 |
r3888 |
|
| 1 | 1 | |
|---|
| 2 | 2 | private import tango.io.Console, |
|---|
| 3 | | tango.io.FileConduit; |
|---|
| | 3 | tango.io.device.FileConduit; |
|---|
| 4 | 4 | |
|---|
| 5 | 5 | private import tango.text.stream.LineIterator; |
|---|
| r2465 |
r3888 |
|
| 1 | 1 | |
|---|
| 2 | 2 | private import tango.io.Console, |
|---|
| 3 | | tango.io.FileConduit, |
|---|
| | 3 | tango.io.device.FileConduit, |
|---|
| 4 | 4 | tango.io.MappedBuffer; |
|---|
| 5 | 5 | |
|---|
| r2465 |
r3888 |
|
| 1 | 1 | |
|---|
| 2 | | private import tango.io.FileConduit; |
|---|
| | 2 | private import tango.io.device.FileConduit; |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | private import tango.io.protocol.Reader, |
|---|
| r3724 |
r3888 |
|
| 11 | 11 | |
|---|
| 12 | 12 | private import tango.io.Console, |
|---|
| 13 | | tango.io.FileConduit; |
|---|
| | 13 | tango.io.device.FileConduit; |
|---|
| 14 | 14 | |
|---|
| 15 | 15 | private import tango.net.ServerSocket, |
|---|
| r3724 |
r3888 |
|
| 21 | 21 | import tango.io.selector.SelectSelector; |
|---|
| 22 | 22 | import tango.io.selector.SelectorException; |
|---|
| 23 | | import tango.io.Conduit; |
|---|
| | 23 | import tango.io.device.Conduit; |
|---|
| 24 | 24 | import tango.net.Socket; |
|---|
| 25 | 25 | import tango.net.SocketConduit; |
|---|
| r3724 |
r3888 |
|
| 5 | 5 | import tango.util.Arguments; |
|---|
| 6 | 6 | import tango.io.Stdout; |
|---|
| 7 | | import tango.io.FileConduit; |
|---|
| | 7 | import tango.io.device.FileConduit; |
|---|
| 8 | 8 | import tango.text.stream.LineIterator; |
|---|
| 9 | 9 | |
|---|
| r3724 |
r3888 |
|
| 1 | 1 | module build_tango; |
|---|
| 2 | 2 | |
|---|
| 3 | | import tango.io.FileConduit; |
|---|
| | 3 | import tango.io.device.FileConduit; |
|---|
| 4 | 4 | import tango.io.FileScan; |
|---|
| 5 | 5 | import tango.io.Stdout; |
|---|
| r3724 |
r3888 |
|
| 1 | | import tango.io.FileConduit; |
|---|
| | 1 | import tango.io.device.FileConduit; |
|---|
| 2 | 2 | import tango.io.FilePath; |
|---|
| 3 | 3 | import tango.io.FileScan; |
|---|
| r3724 |
r3888 |
|
| 21 | 21 | tango.io.Stdout, |
|---|
| 22 | 22 | tango.io.Buffer, |
|---|
| 23 | | tango.io.Conduit, |
|---|
| | 23 | tango.io.device.Conduit, |
|---|
| 24 | 24 | tango.io.Console, |
|---|
| 25 | 25 | tango.io.FilePath, |
|---|
| 26 | 26 | tango.io.FileSystem, |
|---|
| 27 | | tango.io.FileConduit, |
|---|
| | 27 | tango.io.device.FileConduit, |
|---|
| 28 | 28 | tango.io.UnicodeFile, |
|---|
| 29 | 29 | tango.io.MappedBuffer; |
|---|
| r3724 |
r3888 |
|
| 18 | 18 | |
|---|
| 19 | 19 | private import tango.io.Buffer, |
|---|
| 20 | | tango.io.DeviceConduit; |
|---|
| | 20 | tango.io.device.DeviceConduit; |
|---|
| 21 | 21 | |
|---|
| 22 | 22 | |
|---|
| r3724 |
r3888 |
|
| 15 | 15 | |
|---|
| 16 | 16 | private import tango.io.FilePath, |
|---|
| 17 | | tango.io.FileConduit; |
|---|
| | 17 | tango.io.device.FileConduit; |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | private import tango.core.Exception; |
|---|
| r3886 |
r3888 |
|
| 33 | 33 | private import tango.stdc.posix.unistd; |
|---|
| 34 | 34 | |
|---|
| 35 | | private import tango.io.FileConduit; |
|---|
| | 35 | private import tango.io.device.FileConduit; |
|---|
| 36 | 36 | private import Integer = tango.text.convert.Integer; |
|---|
| 37 | 37 | } |
|---|
| r3724 |
r3888 |
|
| 19 | 19 | private import tango.core.Exception; |
|---|
| 20 | 20 | |
|---|
| 21 | | public import tango.io.FileConduit; |
|---|
| | 21 | public import tango.io.device.FileConduit; |
|---|
| 22 | 22 | |
|---|
| 23 | 23 | /******************************************************************************* |
|---|
| r3887 |
r3888 |
|
| 14 | 14 | import Path = tango.io.Path; |
|---|
| 15 | 15 | import tango.math.random.Kiss : Kiss; |
|---|
| 16 | | import tango.io.DeviceConduit : DeviceConduit; |
|---|
| 17 | | import tango.io.FileConduit : FileConduit; |
|---|
| | 16 | import tango.io.device.DeviceConduit : DeviceConduit; |
|---|
| | 17 | import tango.io.device.FileConduit : FileConduit; |
|---|
| 18 | 18 | import tango.io.FilePath : FilePath; |
|---|
| 19 | 19 | import tango.stdc.stringz : toStringz, toString16z; |
|---|
| r3724 |
r3888 |
|
| 15 | 15 | private import tango.io.FilePath; |
|---|
| 16 | 16 | |
|---|
| 17 | | private import tango.io.FileConduit; |
|---|
| | 17 | private import tango.io.device.FileConduit; |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | private import tango.core.Exception; |
|---|
| r3724 |
r3888 |
|
| 17 | 17 | private import tango.core.Exception : IOException; |
|---|
| 18 | 18 | |
|---|
| 19 | | private import tango.io.Conduit : InputFilter, OutputFilter; |
|---|
| | 19 | private import tango.io.device.Conduit : InputFilter, OutputFilter; |
|---|
| 20 | 20 | |
|---|
| 21 | 21 | private import tango.io.model.IConduit : InputStream, OutputStream, IConduit; |
|---|
| r3887 |
r3888 |
|
| 29 | 29 | import tango.core.ByteSwap : ByteSwap; |
|---|
| 30 | 30 | import tango.io.Buffer : Buffer; |
|---|
| 31 | | import tango.io.FileConduit : FileConduit; |
|---|
| | 31 | import tango.io.device.FileConduit : FileConduit; |
|---|
| 32 | 32 | import tango.io.FilePath : FilePath, PathView; |
|---|
| 33 | 33 | import tango.io.MappedBuffer : MappedBuffer; |
|---|
| … | … | |
| 2286 | 2286 | private: |
|---|
| 2287 | 2287 | |
|---|
| 2288 | | import tango.io.Conduit : Conduit; |
|---|
| | 2288 | import tango.io.device.Conduit : Conduit; |
|---|
| 2289 | 2289 | |
|---|
| 2290 | 2290 | /******************************************************************************* |
|---|
| … | … | |
| 2302 | 2302 | //module tangox.io.stream.CounterStream; |
|---|
| 2303 | 2303 | |
|---|
| 2304 | | //import tango.io.Conduit : Conduit; |
|---|
| | 2304 | //import tango.io.device.Conduit : Conduit; |
|---|
| 2305 | 2305 | //import tango.io.model.IConduit : IConduit, InputStream, OutputStream; |
|---|
| 2306 | 2306 | |
|---|
| … | … | |
| 2431 | 2431 | //module tangox.io.stream.SliceStream; |
|---|
| 2432 | 2432 | |
|---|
| 2433 | | //import tango.io.Conduit : Conduit; |
|---|
| | 2433 | //import tango.io.device.Conduit : Conduit; |
|---|
| 2434 | 2434 | //import tango.io.model.IConduit : IConduit, InputStream, OutputStream; |
|---|
| 2435 | 2435 | |
|---|
| … | … | |
| 2759 | 2759 | //module tangox.io.stream.WrapStream; |
|---|
| 2760 | 2760 | |
|---|
| 2761 | | //import tango.io.Conduit : Conduit; |
|---|
| | 2761 | //import tango.io.device.Conduit : Conduit; |
|---|
| 2762 | 2762 | //import tango.io.model.IConduit : IConduit, InputStream, OutputStream; |
|---|
| 2763 | 2763 | |
|---|
| r3724 |
r3888 |
|
| 21 | 21 | private import tango.core.Exception : IOException; |
|---|
| 22 | 22 | |
|---|
| 23 | | private import tango.io.Conduit : InputFilter, OutputFilter; |
|---|
| | 23 | private import tango.io.device.Conduit : InputFilter, OutputFilter; |
|---|
| 24 | 24 | |
|---|
| 25 | 25 | private import tango.io.model.IConduit : InputStream, OutputStream, IConduit; |
|---|
| r3856 |
r3888 |
|
| 47 | 47 | ***********************************************************************/ |
|---|
| 48 | 48 | |
|---|
| 49 | | abstract char[] toString (); |
|---|
| | 49 | abstract Cutf8 toString (); |
|---|
| 50 | 50 | |
|---|
| 51 | 51 | /*********************************************************************** |
|---|
| … | … | |
| 81 | 81 | ***********************************************************************/ |
|---|
| 82 | 82 | |
|---|
| 83 | | abstract uint write (void [] src); |
|---|
| | 83 | abstract uint write (const(void)[] src); |
|---|
| 84 | 84 | |
|---|
| 85 | 85 | /*********************************************************************** |
|---|
| … | … | |
| 97 | 97 | ***********************************************************************/ |
|---|
| 98 | 98 | |
|---|
| 99 | | bool isAlive () |
|---|
| | 99 | override bool isAlive () |
|---|
| 100 | 100 | { |
|---|
| 101 | 101 | return true; |
|---|
| … | … | |
| 103 | 103 | |
|---|
| 104 | 104 | /*********************************************************************** |
|---|
| 105 | | |
|---|
| | 105 | |
|---|
| 106 | 106 | Return the host. This is part of the Stream interface |
|---|
| 107 | 107 | |
|---|
| 108 | 108 | ***********************************************************************/ |
|---|
| 109 | 109 | |
|---|
| 110 | | final IConduit conduit() |
|---|
| 111 | | { |
|---|
| 112 | | return this; |
|---|
| 113 | | } |
|---|
| 114 | | |
|---|
| | 110 | final override IConduit conduit() |
|---|
| | 111 | { |
|---|
| | 112 | return this; |
|---|
| | 113 | } |
|---|
| | 114 | |
|---|
| 115 | 115 | /*********************************************************************** |
|---|
| 116 | 116 | |
|---|
| … | … | |
| 119 | 119 | ***********************************************************************/ |
|---|
| 120 | 120 | |
|---|
| 121 | | InputStream clear () {return this;} |
|---|
| | 121 | override InputStream clear () {return this;} |
|---|
| 122 | 122 | |
|---|
| 123 | 123 | /*********************************************************************** |
|---|
| … | … | |
| 132 | 132 | |
|---|
| 133 | 133 | Close this conduit |
|---|
| 134 | | |
|---|
| | 134 | |
|---|
| 135 | 135 | Remarks: |
|---|
| 136 | 136 | Both input and output are detached, and are no longer usable |
|---|
| … | … | |
| 138 | 138 | ***********************************************************************/ |
|---|
| 139 | 139 | |
|---|
| 140 | | final void close () |
|---|
| | 140 | final override void close () |
|---|
| 141 | 141 | { |
|---|
| 142 | 142 | this.detach; |
|---|
| … | … | |
| 145 | 145 | /*********************************************************************** |
|---|
| 146 | 146 | |
|---|
| 147 | | Return the current input stream |
|---|
| 148 | | |
|---|
| 149 | | ***********************************************************************/ |
|---|
| 150 | | |
|---|
| 151 | | final InputStream input () |
|---|
| | 147 | Return the current input stream |
|---|
| | 148 | |
|---|
| | 149 | ***********************************************************************/ |
|---|
| | 150 | |
|---|
| | 151 | final override InputStream input () |
|---|
| 152 | 152 | { |
|---|
| 153 | 153 | return this; |
|---|
| … | … | |
| 159 | 159 | |
|---|
| 160 | 160 | ***********************************************************************/ |
|---|
| 161 | | |
|---|
| 162 | | final OutputStream output () |
|---|
| | 161 | |
|---|
| | 162 | final override OutputStream output () |
|---|
| 163 | 163 | { |
|---|
| 164 | 164 | return this; |
|---|
| … | … | |
| 171 | 171 | ***********************************************************************/ |
|---|
| 172 | 172 | |
|---|
| 173 | | final void error (char[] msg) |
|---|
| | 173 | final override void error (Cutf8 msg) |
|---|
| 174 | 174 | { |
|---|
| 175 | 175 | throw new IOException (msg); |
|---|
| … | … | |
| 183 | 183 | ***********************************************************************/ |
|---|
| 184 | 184 | |
|---|
| 185 | | final OutputStream copy (InputStream src) |
|---|
| | 185 | final override OutputStream copy (InputStream src) |
|---|
| 186 | 186 | { |
|---|
| 187 | 187 | transfer (src, this); |
|---|
| … | … | |
| 198 | 198 | Returns an array representing the content, and throws |
|---|
| 199 | 199 | IOException on error |
|---|
| 200 | | |
|---|
| | 200 | |
|---|
| 201 | 201 | ***********************************************************************/ |
|---|
| 202 | 202 | |
|---|
| … | … | |
| 215 | 215 | Returns an array representing the content, and throws |
|---|
| 216 | 216 | IOException on error |
|---|
| 217 | | |
|---|
| | 217 | |
|---|
| 218 | 218 | ***********************************************************************/ |
|---|
| 219 | 219 | |
|---|
| … | … | |
| 222 | 222 | auto index = 0; |
|---|
| 223 | 223 | auto chunk = 256; |
|---|
| 224 | | |
|---|
| | 224 | |
|---|
| 225 | 225 | do { |
|---|
| 226 | 226 | if (dst.length - index < chunk) |
|---|
| … | … | |
| 235 | 235 | |
|---|
| 236 | 236 | /*********************************************************************** |
|---|
| 237 | | |
|---|
| | 237 | |
|---|
| 238 | 238 | Low-level data transfer, where max represents the maximum |
|---|
| 239 | 239 | number of bytes to transfer, and tmp represents space for |
|---|
| … | … | |
| 299 | 299 | ***********************************************************************/ |
|---|
| 300 | 300 | |
|---|
| 301 | | IConduit conduit () |
|---|
| | 301 | override IConduit conduit () |
|---|
| 302 | 302 | { |
|---|
| 303 | 303 | return host.conduit; |
|---|
| … | … | |
| 306 | 306 | /*********************************************************************** |
|---|
| 307 | 307 | |
|---|
| 308 | | Read from conduit into a target array. The provided dst |
|---|
| 309 | | will be populated with content from the conduit. |
|---|
| | 308 | Read from conduit into a target array. The provided dst |
|---|
| | 309 | will be populated with content from the conduit. |
|---|
| 310 | 310 | |
|---|
| 311 | 311 | Returns the number of bytes read, which may be less than |
|---|
| 312 | | requested in dst. Eof is returned whenever an end-of-flow |
|---|
| | 312 | requested in dst. Eof is returned whenever an end-of-flow |
|---|
| 313 | 313 | condition arises. |
|---|
| 314 | 314 | |
|---|
| 315 | 315 | ***********************************************************************/ |
|---|
| 316 | 316 | |
|---|
| 317 | | uint read (void[] dst) |
|---|
| | 317 | override uint read (void[] dst) |
|---|
| 318 | 318 | { |
|---|
| 319 | 319 | return host.read (dst); |
|---|
| … | … | |
| 326 | 326 | ***********************************************************************/ |
|---|
| 327 | 327 | |
|---|
| 328 | | InputStream clear () |
|---|
| | 328 | override InputStream clear () |
|---|
| 329 | 329 | { |
|---|
| 330 | 330 | host.clear; |
|---|
| … | … | |
| 340 | 340 | Returns an array representing the content, and throws |
|---|
| 341 | 341 | IOException on error |
|---|
| 342 | | |
|---|
| | 342 | |
|---|
| 343 | 343 | ***********************************************************************/ |
|---|
| 344 | 344 | |
|---|
| … | … | |
| 354 | 354 | ***********************************************************************/ |
|---|
| 355 | 355 | |
|---|
| 356 | | void close () |
|---|
| | 356 | override void close () |
|---|
| 357 | 357 | { |
|---|
| 358 | 358 | host.close; |
|---|
| … | … | |
| 363 | 363 | /******************************************************************************* |
|---|
| 364 | 364 | |
|---|
| 365 | | Base class for output stream filtering |
|---|
| | 365 | Base class for output stream filtering |
|---|
| 366 | 366 | |
|---|
| 367 | 367 | *******************************************************************************/ |
|---|
| … | … | |
| 389 | 389 | ***********************************************************************/ |
|---|
| 390 | 390 | |
|---|
| 391 | | IConduit conduit () |
|---|
| | 391 | override IConduit conduit () |
|---|
| 392 | 392 | { |
|---|
| 393 | 393 | return host.conduit; |
|---|
| … | … | |
| 400 | 400 | |
|---|
| 401 | 401 | Returns the number of bytes written from src, which may |
|---|
| 402 | | be less than the quantity provided. Eof is returned when |
|---|
| | 402 | be less than the quantity provided. Eof is returned when |
|---|
| 403 | 403 | an end-of-flow condition arises. |
|---|
| 404 | 404 | |
|---|
| 405 | 405 | ***********************************************************************/ |
|---|
| 406 | 406 | |
|---|
| 407 | | uint write (void[] src) |
|---|
| | 407 | override uint write (const(void)[] src) |
|---|
| 408 | 408 | { |
|---|
| 409 | 409 | return host.write (src); |
|---|
| … | … | |
| 416 | 416 | ***********************************************************************/ |
|---|
| 417 | 417 | |
|---|
| 418 | | OutputStream flush () |
|---|
| | 418 | override OutputStream flush () |
|---|
| 419 | 419 | { |
|---|
| 420 | 420 | host.flush; |
|---|
| r3856 |
r3888 |
|
| 35 | 35 | |
|---|
| 36 | 36 | Throw an IOException noting the last error |
|---|
| 37 | | |
|---|
| | 37 | |
|---|
| 38 | 38 | ***********************************************************************/ |
|---|
| 39 | 39 | |
|---|
| … | … | |
| 49 | 49 | ***********************************************************************/ |
|---|
| 50 | 50 | |
|---|
| 51 | | override char[] toString () |
|---|
| | 51 | override Cutf8 toString () |
|---|
| 52 | 52 | { |
|---|
| 53 | 53 | return "<device>"; |
|---|
| … | … | |
| 117 | 117 | |
|---|
| 118 | 118 | Read a chunk of bytes from the file into the provided |
|---|
| 119 | | array (typically that belonging to an IBuffer). |
|---|
| | 119 | array (typically that belonging to an IBuffer). |
|---|
| 120 | 120 | |
|---|
| 121 | 121 | Returns the number of bytes read, or Eof when there is |
|---|
| … | … | |
| 148 | 148 | ***************************************************************/ |
|---|
| 149 | 149 | |
|---|
| 150 | | override uint write (void[] src) |
|---|
| | 150 | override uint write (const(void)[] src) |
|---|
| 151 | 151 | { |
|---|
| 152 | 152 | DWORD written; |
|---|
| … | … | |
| 230 | 230 | ***************************************************************/ |
|---|
| 231 | 231 | |
|---|
| 232 | | override uint write (void[] src) |
|---|
| | 232 | override uint write (const(void)[] src) |
|---|
| 233 | 233 | { |
|---|
| 234 | 234 | int written = posix.write (handle, src.ptr, src.length); |
|---|
| r3856 |
r3888 |
|
| 309 | 309 | ***********************************************************************/ |
|---|
| 310 | 310 | |
|---|
| 311 | | override char[] toString () |
|---|
| | 311 | override Cutf8 toString () |
|---|
| 312 | 312 | { |
|---|
| 313 | 313 | return path_; |
|---|
| … | … | |
| 447 | 447 | ***************************************************************/ |
|---|
| 448 | 448 | |
|---|
| 449 | | override uint write (void[] src) |
|---|
| | 449 | override uint write (const(void)[] src) |
|---|
| 450 | 450 | { |
|---|
| 451 | 451 | DWORD written; |
|---|
| r3886 |
r3888 |
|
| 16 | 16 | /******************************************************************************* |
|---|
| 17 | 17 | |
|---|
| 18 | | Conduits provide virtualized access to external content, and |
|---|
| 19 | | represent things like files or Internet connections. Conduits |
|---|
| 20 | | expose a pair of streams, are modelled by tango.io.model.IConduit, |
|---|
| 21 | | and are implemented via classes such as FileConduit & SocketConduit. |
|---|
| 22 | | |
|---|
| 23 | | Additional kinds of conduit are easy to construct: one either |
|---|
| 24 | | subclasses tango.io.Conduit, or implements tango.io.model.IConduit. |
|---|
| 25 | | A conduit typically reads and writes from/to an IBuffer in large |
|---|
| 26 | | chunks, typically the entire buffer. Alternatively, one can invoke |
|---|
| | 18 | Conduits provide virtualized access to external content, and |
|---|
| | 19 | represent things like files or Internet connections. Conduits |
|---|
| | 20 | expose a pair of streams, are modelled by tango.io.model.IConduit, |
|---|
| | 21 | and are implemented via classes such as FileConduit & SocketConduit. |
|---|
| | 22 | |
|---|
| | 23 | Additional kinds of conduit are easy to construct: one either |
|---|
| | 24 | subclasses tango.io.device.Conduit, or implements tango.io.model.IConduit. |
|---|
| | 25 | A conduit typically reads and writes from/to an IBuffer in large |
|---|
| | 26 | chunks, typically the entire buffer. Alternatively, one can invoke |
|---|
| 27 | 27 | input.read(dst[]) and/or output.write(src[]) directly. |
|---|
| 28 | 28 | |
|---|
| r3724 |
r3888 |
|
| 13 | 13 | module tango.io.stream.DataFileStream; |
|---|
| 14 | 14 | |
|---|
| 15 | | private import tango.io.FileConduit; |
|---|
| | 15 | private import tango.io.device.FileConduit; |
|---|
| 16 | 16 | |
|---|
| 17 | 17 | private import tango.io.stream.DataStream; |
|---|
| r3724 |
r3888 |
|
| 15 | 15 | private import tango.io.Buffer; |
|---|
| 16 | 16 | |
|---|
| 17 | | private import tango.io.Conduit; |
|---|
| | 17 | private import tango.io.device.Conduit; |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | private import tango.core.ByteSwap; |
|---|
| r3724 |
r3888 |
|
| 13 | 13 | module tango.io.stream.DigestStream; |
|---|
| 14 | 14 | |
|---|
| 15 | | private import tango.io.Conduit; |
|---|
| | 15 | private import tango.io.device.Conduit; |
|---|
| 16 | 16 | |
|---|
| 17 | 17 | private import tango.io.digest.Digest; |
|---|
| r3724 |
r3888 |
|
| 17 | 17 | |
|---|
| 18 | 18 | private import tango.io.Buffer, |
|---|
| 19 | | tango.io.Conduit; |
|---|
| | 19 | tango.io.device.Conduit; |
|---|
| 20 | 20 | |
|---|
| 21 | 21 | private import tango.core.ByteSwap; |
|---|
| r2810 |
r3888 |
|
| 13 | 13 | module tango.io.stream.FileStream; |
|---|
| 14 | 14 | |
|---|
| 15 | | public import tango.io.FileConduit; |
|---|
| | 15 | public import tango.io.device.FileConduit; |
|---|
| 16 | 16 | |
|---|
| 17 | 17 | /******************************************************************************* |
|---|
| r3724 |
r3888 |
|
| 13 | 13 | module tango.io.stream.GreedyStream; |
|---|
| 14 | 14 | |
|---|
| 15 | | private import tango.io.Conduit; |
|---|
| | 15 | private import tango.io.device.Conduit; |
|---|
| 16 | 16 | |
|---|
| 17 | 17 | |
|---|
| r3724 |
r3888 |
|
| 16 | 16 | |
|---|
| 17 | 17 | private import tango.io.Buffer, |
|---|
| 18 | | tango.io.Conduit; |
|---|
| | 18 | tango.io.device.Conduit; |
|---|
| 19 | 19 | |
|---|
| 20 | 20 | private import Text = tango.text.Util; |
|---|
| r3724 |
r3888 |
|
| 14 | 14 | |
|---|
| 15 | 15 | private import tango.io.Console, |
|---|
| 16 | | tango.io.Conduit; |
|---|
| | 16 | tango.io.device.Conduit; |
|---|
| 17 | 17 | |
|---|
| 18 | 18 | private import tango.text.convert.Format; |
|---|
| r3724 |
r3888 |
|
| 13 | 13 | module tango.io.stream.TextFileStream; |
|---|
| 14 | 14 | |
|---|
| 15 | | public import tango.io.FileConduit; |
|---|
| | 15 | public import tango.io.device.FileConduit; |
|---|
| 16 | 16 | |
|---|
| 17 | 17 | private import tango.io.Buffer; |
|---|
| r2840 |
r3888 |
|
| 17 | 17 | |
|---|
| 18 | 18 | private import tango.io.Buffer, |
|---|
| 19 | | tango.io.Conduit; |
|---|
| | 19 | tango.io.device.Conduit; |
|---|
| 20 | 20 | |
|---|
| 21 | 21 | /******************************************************************************* |
|---|
| r3724 |
r3888 |
|
| 18 | 18 | |
|---|
| 19 | 19 | private import tango.io.Buffer, |
|---|
| 20 | | tango.io.Conduit; |
|---|
| | 20 | tango.io.device.Conduit; |
|---|
| 21 | 21 | |
|---|
| 22 | 22 | private import Utf = tango.text.convert.Utf; |
|---|
| r3724 |
r3888 |
|
| 15 | 15 | private import tango.util.PathUtil; |
|---|
| 16 | 16 | |
|---|
| 17 | | private import tango.io.FileConduit; |
|---|
| | 17 | private import tango.io.device.FileConduit; |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | private import Path = tango.io.Path; |
|---|
| r3887 |
r3888 |
|
| 15 | 15 | module tango.io.vfs.ZipFolder; |
|---|
| 16 | 16 | |
|---|
| 17 | | import tango.io.FileConduit : FileConduit; |
|---|
| | 17 | import tango.io.device.FileConduit : FileConduit; |
|---|
| 18 | 18 | import tango.io.FilePath : FilePath; |
|---|
| 19 | 19 | import tango.io.TempFile : TempFile; |
|---|
| … | … | |
|