Namespaces | Classes | Typedefs | Enumerations | Functions
Balau Namespace Reference

The root Balau namespace. More...

Namespaces

 Concurrent
 Concurrency control classes.
 
 Container
 Various container classes, apart from interprocess containers.
 
 Documentation
 Classes used for providing documentation.
 
 Exception
 All exception classes.
 
 Interprocess
 Interprocess functionality including interprocess containers.
 
 Lang
 Parsing tools and parser implementations.
 
 Network
 Components and utilities working on network data transmission.
 
 Resource
 The unified resource class hierarchy.
 
 System
 System utilities and wrappers.
 
 Testing
 The test runner and test assertion functions.
 
 Type
 The character utilities and other basic functionality.
 
 Util
 Utility functions.
 

Classes

class  ApplicationConfiguration
 Application configurations specify application injector bindings. More...
 
class  Assert
 An assertion class for development purposes. More...
 
class  BindingBuilder
 An injector binding candidate created via the injector configuration. More...
 
struct  Character
 Utilities for unicode characters and code points. More...
 
class  CommandLine
 A compact command line argument parser. More...
 
class  EnvironmentConfiguration
 Environment configurations specify typed and untyped environment injector bindings. More...
 
class  EnvironmentProperties
 A hierarchical environment properties holder created from a composite property. More...
 
class  Injector
 The main dependency injector class. More...
 
class  InjectorConfiguration
 Injector configurations specify injector bindings. More...
 
class  Logger
 The main logger class. More...
 
class  LoggingStream
 Base class of logging stream plugins. More...
 
class  MovableOnScopeExit
 Run a function on scope exit (movable version). More...
 
class  OnScopeExit
 Run a function on scope exit. More...
 
struct  SourceCodeLocation
 A type used to representing a source code file and line number pair, obtained via the FILE and LINE macros. More...
 
class  UUID
 UUID class, using the Boost uuid implementation. More...
 

Typedefs

using LoggingStreamFactory = LoggingStream *(*)(std::string_view uri)
 The logging stream factory function type. More...
 
template<typename AllocatorT >
using U16OStringStream = std::basic_ostringstream< char16_t, std::char_traits< char16_t >, AllocatorT >
 UTF-16 output string stream type with selectable allocator. More...
 
template<typename AllocatorT >
using U16String = std::basic_string< char16_t, std::char_traits< char16_t >, AllocatorT >
 UTF-16 string type with selectable allocator. More...
 
template<typename AllocatorT >
using U32OStringStream = std::basic_ostringstream< char32_t, std::char_traits< char32_t >, AllocatorT >
 UTF-32 output string stream type with selectable allocator. More...
 
template<typename AllocatorT >
using U32String = std::basic_string< char32_t, std::char_traits< char32_t >, AllocatorT >
 UTF-32 string type with selectable allocator. More...
 
template<typename AllocatorT >
using U8OStringStream = std::basic_ostringstream< char, std::char_traits< char >, AllocatorT >
 UTF-8 output string stream type with selectable allocator. More...
 
template<typename AllocatorT >
using U8String = std::basic_string< char, std::char_traits< char >, AllocatorT >
 UTF-8 string type with selectable allocator. More...
 
template<typename BaseT >
using UniquePropertyCloner = std::function< std::unique_ptr< BaseT >(const std::unique_ptr< const BaseT > &)>
 The clone function type for unique pointer prototypes. More...
 

Enumerations

enum  CommandLineStyle {
  SwitchSpaceValue,
  SwitchEqualsValue,
  Detect
}
 The command line style that the application uses. More...
 
enum  LoggingLevel {
  TRACE = 4,
  DEBUG = 3,
  INFO = 2,
  WARN = 1,
  ERROR = 0,
  NONE = -1
}
 The logging level. More...
 

Functions

template<typename AllocatorT >
Balau::U8String< AllocatorT > toString (LoggingLevel level)
 Print the logging level as a UTF-8 string. More...
 
template<typename AllocatorT >
Balau::U8String< AllocatorT > toString (const UUID &uuid)
 Print the UUID as a UTF-8 string. More...
 

Detailed Description

The root Balau namespace.

Typedef Documentation

◆ LoggingStreamFactory

using LoggingStreamFactory = LoggingStream * (*)(std::string_view uri)

The logging stream factory function type.

The URI passed to the factory function will contain scheme specific information for the creation of the logging stream.

◆ U16OStringStream

using U16OStringStream = std::basic_ostringstream<char16_t, std::char_traits<char16_t>, AllocatorT>

UTF-16 output string stream type with selectable allocator.

◆ U16String

using U16String = std::basic_string<char16_t, std::char_traits<char16_t>, AllocatorT>

UTF-16 string type with selectable allocator.

◆ U32OStringStream

using U32OStringStream = std::basic_ostringstream<char32_t, std::char_traits<char32_t>, AllocatorT>

UTF-32 output string stream type with selectable allocator.

◆ U32String

using U32String = std::basic_string<char32_t, std::char_traits<char32_t>, AllocatorT>

UTF-32 string type with selectable allocator.

◆ U8OStringStream

using U8OStringStream = std::basic_ostringstream<char, std::char_traits<char>, AllocatorT>

UTF-8 output string stream type with selectable allocator.

◆ U8String

using U8String = std::basic_string<char, std::char_traits<char>, AllocatorT>

UTF-8 string type with selectable allocator.

◆ UniquePropertyCloner

using UniquePropertyCloner = std::function<std::unique_ptr<BaseT> (const std::unique_ptr<const BaseT> &)>

The clone function type for unique pointer prototypes.

Enumeration Type Documentation

◆ CommandLineStyle

enum CommandLineStyle
strong

The command line style that the application uses.

Enumerator
SwitchSpaceValue 

Switches that have a leading dash '-' character.

Switches with values are separated from the value with whitespace.

SwitchEqualsValue 

Switches that do not require a leading dash.

Switches with values are separated from the value with an equals '=' character..

Detect 

The parser will allow either switch-space-value or switch-equals-value.

If the first switch has a leading dash, the switch-space-value style will be used. Otherwise, the switch-equals-value format will be used.

◆ LoggingLevel

enum LoggingLevel
strong

The logging level.

A logger will log a message to the level specified in the logging call if the logger is configured to log to the specified level or below.

Enumerator
TRACE 

Log to the logger's trace stream if the logger is trace enabled.

DEBUG 

Log to the logger's debug stream if the logger is debug enabled.

INFO 

Log to the logger's info stream if the logger is info enabled.

WARN 

Log to the logger's warn stream if the logger is warn enabled.

ERROR 

Log to the logger's error stream if the logger is error enabled.

NONE 

Used to indicate that a logger is not enabled.

Function Documentation

◆ toString() [1/2]

std::string toString ( LoggingLevel  level)
inline

Print the logging level as a UTF-8 string.

Returns
a UTF-8 string representing the logging level

◆ toString() [2/2]

std::string toString ( const UUID uuid)
inline

Print the UUID as a UTF-8 string.

Returns
a UTF-8 string representing the UUID