| 
							- /*
 -   ==============================================================================
 - 
 -    This file is part of the Water library.
 -    Copyright (c) 2016 ROLI Ltd.
 -    Copyright (C) 2017-2019 Filipe Coelho <falktx@falktx.com>
 - 
 -    Permission is granted to use this software under the terms of the ISC license
 -    http://www.isc.org/downloads/software-support-policy/isc-license/
 - 
 -    Permission to use, copy, modify, and/or distribute this software for any
 -    purpose with or without fee is hereby granted, provided that the above
 -    copyright notice and this permission notice appear in all copies.
 - 
 -    THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD
 -    TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
 -    FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,
 -    OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
 -    USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 -    TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
 -    OF THIS SOFTWARE.
 - 
 -   ==============================================================================
 - */
 - 
 - #ifndef WATER_NEWLINE_H_INCLUDED
 - #define WATER_NEWLINE_H_INCLUDED
 - 
 - #include "../water.h"
 - 
 - namespace water {
 - 
 - //==============================================================================
 - /** This class is used for represent a new-line character sequence.
 - 
 -     To write a new-line to a stream, you can use the predefined 'newLine' variable, e.g.
 -     @code
 -     myOutputStream << "Hello World" << newLine << newLine;
 -     @endcode
 - 
 -     The exact character sequence that will be used for the new-line can be set and
 -     retrieved with OutputStream::setNewLineString() and OutputStream::getNewLineString().
 - */
 - class NewLine
 - {
 - public:
 -     /** Returns the default new-line sequence that the library uses.
 -         @see OutputStream::setNewLineString()
 -     */
 -     static const char* getDefault() noexcept        { return "\r\n"; }
 - 
 -     /** Returns the default new-line sequence that the library uses.
 -         @see getDefault()
 -     */
 -     operator String() const                         { return getDefault(); }
 - 
 -     /** Returns the default new-line sequence that the library uses.
 -         @see OutputStream::setNewLineString()
 -     */
 -     operator StringRef() const noexcept             { return getDefault(); }
 - };
 - 
 - //==============================================================================
 - /** Writes a new-line sequence to a string.
 -     You can use the predefined object 'newLine' to invoke this, e.g.
 -     @code
 -     myString << "Hello World" << newLine << newLine;
 -     @endcode
 - */
 - inline String& operator<< (String& string1, const NewLine&) { return string1 += NewLine::getDefault(); }
 - inline String& operator+= (String& s1, const NewLine&)      { return s1 += NewLine::getDefault(); }
 - 
 - inline String operator+ (const NewLine&, const NewLine&)    { return String (NewLine::getDefault()) + NewLine::getDefault(); }
 - inline String operator+ (String s1, const NewLine&)         { return s1 += NewLine::getDefault(); }
 - inline String operator+ (const NewLine&, const char* s2)    { return String (NewLine::getDefault()) + s2; }
 - 
 - }
 - 
 - #endif // WATER_NEWLINE_H_INCLUDED
 
 
  |