1 /* Output stream with no-op styling. 2 Copyright (C) 2006, 2019 Free Software Foundation, Inc. 3 Written by Bruno Haible <bruno@clisp.org>, 2019. 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _NOOP_STYLED_OSTREAM_H 19 #define _NOOP_STYLED_OSTREAM_H 20 21 #include <stdbool.h> 22 23 #include "styled-ostream.h" 24 25 26 struct noop_styled_ostream : struct styled_ostream 27 { 28 methods: 29 }; 30 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 37 /* Create an output stream that delegates to DESTINATION and that supports 38 the styling operations as no-ops. 39 If PASS_OWNERSHIP is true, closing the resulting stream will automatically 40 close the DESTINATION. 41 Note that if PASS_OWNERSHIP is false, the resulting stream must be closed 42 before DESTINATION can be closed. */ 43 extern noop_styled_ostream_t 44 noop_styled_ostream_create (ostream_t destination, bool pass_ownership); 45 46 47 #ifdef __cplusplus 48 } 49 #endif 50 51 #endif /* _NOOP_STYLED_OSTREAM_H */ 52