Sane C++ Libraries
C++ Platform Abstraction Libraries
Loading...
Searching...
No Matches
SC::Console Struct Reference

Writes to console using SC::StringFormat. More...

#include <Console.h>

Public Member Functions

 Console (Span< char > conversionBuffer={})
 Constructs a console with an OPTIONAL conversion buffer used for UTF encoding conversions on Windows.
 
template<typename... Types>
bool print (StringSpan fmt, Types &&... args)
 Prints a formatted string using SC::StringFormat to stdout.
 
template<typename... Types>
bool printError (StringSpan fmt, Types &&... args)
 Prints a formatted string using SC::StringFormat to stderr.
 
void print (const StringSpan str)
 Prints a string to console.
 
void printError (const StringSpan str)
 Prints a string to stderr.
 
void flush ()
 Flushes stdout.
 
void flushStdErr ()
 Flushes stderr.
 
void printLine (const StringSpan str)
 Prints a string to stdout and adds a newline at the end of it.
 
void printErrorLine (const StringSpan str)
 Prints a string to stderr and adds a newline at the end of it.
 

Static Public Member Functions

static bool tryAttachingToParentConsole ()
 Tries attaching current process to parent console (Windows only, has no effect elsewhere)
 

Detailed Description

Writes to console using SC::StringFormat.

Example:

// Use a custom buffer UTF conversions on windows (optional)
char optionalConversionBuffer[512];
Console console(optionalConversionBuffer);
String str = StringView("Test Test\n");
// Have fun printing
console.print(str.view());
Writes to console using SC::StringFormat.
Definition Console.h:25
Non-owning view over a range of characters with UTF Encoding.
Definition StringView.h:46
A non-modifiable owning string with associated encoding.
Definition String.h:29
StringSpan view() const SC_LANGUAGE_LIFETIME_BOUND
Obtain a null-terminated StringSpan from current String.

Constructor & Destructor Documentation

◆ Console()

SC::Console::Console ( Span< char > conversionBuffer = {})

Constructs a console with an OPTIONAL conversion buffer used for UTF encoding conversions on Windows.

Parameters
conversionBufferThe optional buffer used for UTF conversions

Member Function Documentation

◆ flush()

void SC::Console::flush ( )

Flushes stdout.

◆ flushStdErr()

void SC::Console::flushStdErr ( )

Flushes stderr.

◆ print() [1/2]

void SC::Console::print ( const StringSpan str)

Prints a string to console.

◆ print() [2/2]

template<typename... Types>
bool SC::Console::print ( StringSpan fmt,
Types &&... args )
inline

Prints a formatted string using SC::StringFormat to stdout.

Returns
true if message has been printed successfully to Console

◆ printError() [1/2]

void SC::Console::printError ( const StringSpan str)

Prints a string to stderr.

◆ printError() [2/2]

template<typename... Types>
bool SC::Console::printError ( StringSpan fmt,
Types &&... args )
inline

Prints a formatted string using SC::StringFormat to stderr.

Returns
true if message has been printed successfully to Console

◆ printErrorLine()

void SC::Console::printErrorLine ( const StringSpan str)

Prints a string to stderr and adds a newline at the end of it.

◆ printLine()

void SC::Console::printLine ( const StringSpan str)

Prints a string to stdout and adds a newline at the end of it.

◆ tryAttachingToParentConsole()

static bool SC::Console::tryAttachingToParentConsole ( )
static

Tries attaching current process to parent console (Windows only, has no effect elsewhere)

Returns
true if the parent console has been attached (Windows only, returns true elsewhere)

The documentation for this struct was generated from the following file: