Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
FileOutputStream.inl
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
5
6namespace Stroika::Foundation::IO::FileSystem::FileOutputStream {
7
8 /*
9 ********************************************************************************
10 ******************************* FileOutputStream *******************************
11 ********************************************************************************
12 */
13 inline Streams::OutputStream::Ptr<byte> New (const filesystem::path& fileName, FlushFlag flushFlag, BufferFlag bufferedFlag)
14 {
15 if (bufferedFlag == eBuffered) {
16 return Streams::BufferedOutputStream::New<byte> (FileOutputStream::New (fileName, flushFlag));
17 }
18 else {
19 return New (fileName, flushFlag);
20 }
21 }
22 inline Streams::OutputStream::Ptr<byte> New (const filesystem::path& fileName, AppendFlag appendFlag, FlushFlag flushFlag, BufferFlag bufferedFlag)
23 {
24 if (bufferedFlag == eBuffered) {
25 return Streams::BufferedOutputStream::New<byte> (New (fileName, appendFlag, flushFlag));
26 }
27 else {
28 return New (fileName, appendFlag, flushFlag);
29 }
30 }
31 inline Streams::OutputStream::Ptr<byte> New (FileDescriptorType fd, AdoptFDPolicy adoptFDPolicy, SeekableFlag seekableFlag,
32 FlushFlag flushFlag, BufferFlag bufferedFlag)
33 {
34 if (bufferedFlag == eBuffered) {
35 return Streams::BufferedOutputStream::New<byte> (FileOutputStream::New (fd, adoptFDPolicy, seekableFlag, flushFlag));
36 }
37 else {
38 return New (fd, adoptFDPolicy, seekableFlag, flushFlag);
39 }
40 }
41
42}