Evo C++ Library v0.5.1
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
evo Namespace Reference

Evo C++ Library namespace. More...

Namespaces

 async
 

Classes

struct  AddConst
 Add const to type. More...
 
class  Array
 Dynamic array container with similar interface to List. More...
 
class  AsyncBase
 Base class for Async I/O. More...
 
class  AsyncBuffers
 Holds data for async I/O buffers (used internally with AsyncServer and protocol implementations). More...
 
class  AsyncClient
 Template class for an async I/O client. More...
 
class  AsyncEventLoop
 Manages an event-loop for async I/O. More...
 
class  AsyncServer
 Async I/O server for receiving and handling requests. More...
 
struct  AsyncServerHandler
 Base async I/O server handler. More...
 
class  AsyncServerReplyT
 Handles sending server replies, and accounts for potentially out of order responses. More...
 
class  Atomic
 Atomic integer type. More...
 
class  AtomicBufferQueue
 Fast buffer-based queue, implemented with a ring-buffer. More...
 
struct  AtomicFlag
 Atomic signalling flag. More...
 
class  AtomicPtr
 Atomic dumb pointer to single object. More...
 
class  AtomicPtr< T[]>
 Atomic dumb pointer to array. More...
 
class  Benchmark
 Micro benchmarking class. More...
 
class  BitArraySubsetT
 A subset of a BitArray. More...
 
class  BitArrayT
 Dynamic bit array container with similar interface to Array and List. More...
 
struct  Bits
 Traits and helpers for bit manipulation. More...
 
struct  Bool
 Basic boolean type. More...
 
class  BufferQueue
 Fast buffer-based queue, implemented with a ring-buffer. More...
 
class  Capacity
 Optimized container size and capacity calculation. More...
 
struct  Char
 Basic character type (char) – see CharT. More...
 
struct  CharT
 Nullable primitive character base type. More...
 
class  CommandLineT
 Process command-line arguments. More...
 
struct  Compare
 Comparison object used with containers that order/sort items. More...
 
struct  CompareBase
 Base type for comparison types. More...
 
struct  CompareHash
 Hash object used with containers that hash items. More...
 
struct  CompareI
 Comparison object used with containers that order/sort items (case-insensitive). More...
 
struct  CompareIR
 Comparison object used with containers that order/sort items (case-insensitive, reverse). More...
 
struct  CompareR
 Comparison object used with containers that order/sort items (reverse). More...
 
struct  Condition
 Condition object for thread synchronization. More...
 
struct  Console
 Console I/O. More...
 
struct  ConsoleMT
 Multithreaded console I/O. More...
 
struct  ConsoleNotMT
 Single threaded console I/O. More...
 
struct  Convert
 Generic value conversion template. More...
 
class  Cortex
 A Map with a collection of independent abstract context items. More...
 
struct  CortexModuleAsBase
 Helper for getting a concrete module from a CortexModulePtr (or similar pointer). More...
 
struct  CortexModuleBase
 A simple base class for defining a module using a similar pattern to Cortex, but without the dynamic Map. More...
 
struct  DataCompare
 Data comparison helpers. More...
 
struct  DataCopy
 Optimized data copy helpers. More...
 
struct  DataEqual
 Data equality helper. More...
 
struct  DataFill
 Optimized data fill helpers. More...
 
struct  DataHash
 Optimized data hash helpers. More...
 
struct  DataInit
 Optimized data initialization and uninitialization helpers. More...
 
struct  DataType
 Base data type for optimizated data helpers. More...
 
struct  Date
 Structure holding a calendar date. More...
 
struct  DateTime
 Full calendar date and time of day with timezone offset. More...
 
class  Directory
 Directory reader. More...
 
class  EnumIterator
 Iterator template for sequential enum values. More...
 
struct  EnumMapIterator
 Expanded EnumIterator used with enum traits. More...
 
struct  Event
 Event base type used with EventQueue. More...
 
class  EventLambda
 Implement Event using a lambda function (C++11). More...
 
class  EventQueue
 Lock-free event processing queue. More...
 
class  EventThreadPool
 Event processing thread pool. More...
 
struct  EventThreadState
 Internal state used by EventThreadPool. More...
 
struct  EvoContainer
 Trait to identify Evo container types. More...
 
class  Exception
 Evo base exception class. More...
 
class  ExceptionDirOpen
 Directory open exception for errors opening a directory for reading entries, see Exception. More...
 
class  ExceptionFileIn
 File input stream exception for file read errors, see Exception. More...
 
class  ExceptionFileOpen
 File open exception for errors opening a file, see Exception. More...
 
class  ExceptionFileOut
 File output stream exception for file write errors, see Exception. More...
 
class  ExceptionLogger
 Logger exception, see Exception. More...
 
class  ExceptionSocketConfig
 Socket config exception for getopt() or setopt() errors, see Exception. More...
 
class  ExceptionSocketIn
 Socket input stream exception for socket read errors, see Exception. More...
 
class  ExceptionSocketOpen
 Socket open exception for socket connect/bind/listen errors, see Exception. More...
 
class  ExceptionSocketOut
 Socket output stream exception for socket write errors, see Exception. More...
 
class  ExceptionStream
 Base stream exception for all stream errors, see Exception. More...
 
class  ExceptionStreamIn
 Input stream exception for stream read errors, see Exception. More...
 
class  ExceptionStreamOpen
 Stream open exception for errors opening a stream, see Exception. More...
 
class  ExceptionStreamOut
 Output stream exception for stream write errors, see Exception. More...
 
class  ExceptionSubStringMapList
 SubStringMapList input ordering verification failed, see Exception. More...
 
class  File
 File I/O stream. More...
 
class  FilePath
 File and directory path helpers. More...
 
struct  FloatT
 Nullable basic floating-point base type. More...
 
struct  FmtAttribs
 Formatting attributes (used internally). More...
 
struct  FmtChar
 Explicitly format a repeated character. More...
 
struct  FmtDump
 Explicitly format a hex dump from buffer. More...
 
struct  FmtFieldFloat
 This pairs a FmtFloatT type with FmtSetField for output formatting. More...
 
struct  FmtFieldNum
 This pairs a FmtIntT type with FmtSetField for output formatting. More...
 
struct  FmtFloatT
 Explicitly format a floating pointer number. More...
 
struct  FmtIntT
 Explicitly format an integer. More...
 
struct  FmtPtr
 Explicitly format a pointer. More...
 
struct  FmtSetField
 Holds field and alignment formatting attributes. More...
 
struct  FmtSetFloat
 Holds floating point formatting attributes. More...
 
struct  FmtSetInt
 Holds integer formatting attributes. More...
 
struct  FmtSetNull
 Holds string to use when formatting null values. More...
 
struct  FmtString
 Explicitly format a string. More...
 
struct  FmtStringWrap
 
struct  FmtTable
 Text table formatter. More...
 
struct  FmtTableAttribs
 Helper for adjusting FmtTable column attributes. More...
 
struct  FmtTableOut
 Output interface for writing text table to stream/string. More...
 
struct  IntegerT
 Basic integer type. More...
 
struct  IoBase
 Base binary stream interface. More...
 
class  IoDevice
 I/O device base class for streams. More...
 
struct  IoFile
 File I/O device (used internally). More...
 
struct  IoReader
 Buffered reader for IoDevice (used internally). More...
 
struct  IoSocket
 Socket I/O device (used internally). More...
 
struct  IoWriter
 Buffered writer for IoDevice (used internally). More...
 
struct  IsArray
 Check if type is an array. More...
 
struct  IsBool
 Check if type is a boolean (true/false) type. More...
 
struct  IsByteCopyType
 Check if type is a ByteCopy type. More...
 
struct  IsConst
 Check if type is const. More...
 
class  IsConvertible
 Check if type T is convertible to type U. More...
 
class  IsEvoContainer
 Check if type is an EvoContainer. More...
 
struct  IsFloat
 Check if type is a floating point type. More...
 
struct  IsInt
 Check if type is an integer (whole number) type. More...
 
struct  IsNormalType
 Check if type is a normal type (not POD and not ByteCopy type). More...
 
class  IsNullable
 Check if type is nullable. More...
 
struct  IsPodType
 Check if type is a Plan Old Data type. More...
 
struct  IsPointer
 Check if type is a pointer. More...
 
struct  IsReference
 Check if type is a reference. More...
 
struct  IsSame
 Check if types are exactly the same. More...
 
struct  IsSigned
 Check if integer type is unsigned. More...
 
struct  IsSmartPtr
 Check if type is a SmartPtr or SharedPtr. More...
 
class  IteratorBase
 Base iterator (used internally). More...
 
class  IteratorBi
 Bidirectional iterator. More...
 
class  IteratorFw
 Forward iterator. More...
 
class  IteratorRa
 Random access iterator. More...
 
class  List
 Sequential list container with random access. More...
 
struct  ListBase
 Base for all Evo list types (used internally). More...
 
class  Logger
 High performance message logger. More...
 
class  LoggerBase
 Base class for Logger. More...
 
class  LoggerConsole
 Logger that writes to console. More...
 
class  LoggerInert
 Inert logger implementing the same interface as Logger. More...
 
struct  LoggerPtr
 Wraps a logger pointer that can reference a logger to use or be disabled. More...
 
struct  LogLevelEnum
 LogLevel enum helper created with EVO_ENUM_REMAP(). More...
 
class  Map
 Associative container holding key/value pairs for fast lookup. More...
 
class  MapHash
 Map implemented as a hash table. More...
 
class  MapList
 Map implemented as an ordered list. More...
 
struct  Mutex
 Mutex for thread synchronization. More...
 
struct  MutexInert
 Inert mutex used to disable thread synchronization. More...
 
struct  MutexRW
 Read/Write Mutex for thread synchronization. More...
 
class  NetworkInterfaces
 Query network adapter interfaces from OS. More...
 
struct  NewlineDefault
 Default newline type, implicitly converts to NL_SYS (system default newline). More...
 
class  NewlineValue
 Holds a Newline value that can be null, which implicitly converts to NL_SYS (system default newline). More...
 
struct  Null
 Null type. More...
 
class  Nullable
 Nullable primitive base type. More...
 
struct  Pair
 Stores a key/value pair of independent objects or values. More...
 
struct  Pipe
 Pipe stream access. More...
 
class  PipeIn
 Input stream for reading from pipe. More...
 
class  PipeOut
 Output stream for writing to pipe. More...
 
class  Ptr
 Dumb pointer to single object. More...
 
class  Ptr< T[]>
 Dumb pointer to array. More...
 
struct  PtrBase
 Base managed pointer. More...
 
class  PtrList
 Sequential list of managed pointers with random access. More...
 
class  PureBase
 Pure base class, i.e. More...
 
struct  RawBuffer
 Simple raw memory buffer. More...
 
struct  RemoveConst
 Remove const from type. More...
 
struct  RemoveConstVol
 Remove const & volatile from type. More...
 
struct  RemoveExtents
 Remove extents (pointer and array parts) from type. More...
 
struct  RemoveExtentsConstVol
 Remove extents (pointer and array parts) and then const & volatile from type. More...
 
struct  RemoveVolatile
 Remove volatile from type. More...
 
class  SafeBool
 Safe bool base class. More...
 
class  Set
 Associative container with unique values for fast lookup. More...
 
class  SetHash
 Set implemented as a hash table. More...
 
class  SetList
 Set implemented as an ordered sequential array/list. More...
 
class  SharedPtr
 Shared smart pointer to single object. More...
 
class  SharedPtr< T[], TSize >
 Shared smart pointer to array. More...
 
class  Signal
 Process signal handling. More...
 
struct  Singleton
 Manages a singleton instance for given type. More...
 
struct  SleepLock
 Variation of SpinLock for thread synchronization using sleep-wait. More...
 
struct  SmartLock
 Smart locking for synchronization. More...
 
struct  SmartLockInert
 Inert lock that doesn't do anything. More...
 
struct  SmartLockRead
 Smart read-locking for synchronization. More...
 
class  SmartPtr
 Smart pointer to single object. More...
 
class  SmartPtr< T[]>
 Smart pointer to array. More...
 
struct  SmartSleepLock
 Smart sleep-locking for synchronization. More...
 
class  Socket
 Socket I/O stream. More...
 
struct  SocketAddress
 Generic socket address (used internally). More...
 
struct  SocketAddressBase
 Base socket address. More...
 
struct  SocketAddressInfo
 Resolves socket name/address to socket address info. More...
 
struct  SocketAddressIp
 TCP/IP socket address. More...
 
struct  SocketAddressUnix
 Unix Domain socket address (linux/unix). More...
 
class  SocketCast
 Socket for I/O casting (datagram/UDP). More...
 
struct  SpinLock
 Spin-lock for thread synchronization. More...
 
struct  StaticBool
 Static bool value. More...
 
struct  StaticIf
 Static conditional type. More...
 
class  Stream
 Input/Output stream implementation. More...
 
struct  StreamBase
 Base text and binary stream interface. More...
 
struct  StreamExtMT
 Extends an existing stream with mutex for multithreaded synchronization. More...
 
struct  StreamFormatter
 Stream output formatter with state. More...
 
class  StreamIn
 Input stream implementation. More...
 
struct  StreamMT
 Stream with mutex for multithreaded synchronization. More...
 
struct  StreamMT< File >
 Stream with mutex for multithreaded synchronization, specialized for File. More...
 
class  StreamOut
 Output stream implementation. More...
 
class  String
 String container. More...
 
struct  StringFlt
 String fixed-size buffer for formatting a floating point number. More...
 
struct  StringInt
 String fixed-size buffer for formatting an integer. More...
 
struct  StrQuoting
 Helpers for determining quoting type to use with string data. More...
 
class  StrTok
 String forward tokenizer. More...
 
class  StrTokBase
 Base tokenizer class – see StrTok and StrTokR. More...
 
class  StrTokLine
 String line tokenizer. More...
 
class  StrTokR
 String reverse tokenizer. More...
 
class  StrTokRS
 String reverse tokenizer (strict). More...
 
class  StrTokS
 String forward tokenizer (strict). More...
 
struct  StrTokVariant
 String tokenizer adapter used internally to create variants of existing tokenizers – do not use directly. More...
 
struct  SubList
 Reference and access existing list data. More...
 
struct  SubString
 Reference and access existing string data. More...
 
class  SubStringMapList
 References a list of sorted substrings for fast lookup. More...
 
struct  SysDir
 System directory reader (used internally). More...
 
struct  SysLinux
 
struct  SysLinuxIo
 
struct  SysMutex
 
struct  SysNativeTimeStamp
 Holds a system timestamp as native (platform specific) fields. More...
 
struct  SysThread
 
struct  SysTimestamp
 Holds a system timestamp for storing date/time and measuring elapsed time. More...
 
struct  Thread
 Manages a single thread of execution. More...
 
struct  ThreadClass
 Base class for managing a single class-based thread of execution. More...
 
struct  ThreadGroup
 Manages a group of threads with shared state. More...
 
struct  ThreadScope
 Creates a single thread of execution in given scope. More...
 
struct  ThreadScope< Thread >
 Creates a single thread of execution in given scope. More...
 
struct  TimeOfDay
 Structure holding a time of day. More...
 
class  TimerStampCpu
 Holds a CPU (process) timer-stamp, used as template argument with TimerT. More...
 
class  TimerStampWall
 Holds a real (wall clock) timer-stamp, used as template argument with TimerT. More...
 
class  TimerT
 Timer that works like a stopwatch. More...
 
struct  TimeZoneOffset
 Structure holding a time zone offset from UTC. More...
 
struct  ToSigned
 Translate integer type to signed. More...
 
struct  ToUnsigned
 Translate integer type to unsigned. More...
 
struct  TypeId
 Type ID info (POD, ByteCopy, Normal). More...
 
class  UnicodeString
 Unicode string container using UTF-16. More...
 
class  Var
 General purpose variable that can hold a basic value (string, number, bool, etc) or children with nested values (object, list). More...
 
class  VarObject
 Explicit variant of Var used for initializing as an object with an initializer list of key/value pairs (C++11). More...
 
class  WorkBuffer
 Working data buffer. More...
 

Typedefs

typedef AsyncServerReplyT AsyncServerReply
 Handles sending server replies – see AsyncServerReplyT. More...
 
typedef Atomic< int > AtomicInt
 Atomic signed int. More...
 
typedef Atomic< int32 > AtomicInt32
 Atomic 32-bit signed int. More...
 
typedef Atomic< int64 > AtomicInt64
 Atomic 64-bit signed int. More...
 
typedef Atomic< long > AtomicLong
 Atomic signed long. More...
 
typedef Atomic< longl > AtomicLongL
 Atomic signed long long. More...
 
typedef Atomic< uint > AtomicUInt
 Atomic unsigned int. More...
 
typedef Atomic< uint32 > AtomicUInt32
 Atomic 32-bit unsigned int. More...
 
typedef Atomic< uint64 > AtomicUInt64
 Atomic 64-bit unsigned int. More...
 
typedef Atomic< ulong > AtomicULong
 Atomic unsigned long. More...
 
typedef Atomic< ulongl > AtomicULongL
 Atomic unsigned long long. More...
 
typedef BitArrayT BitArray
 Default dynamic bit array container – see BitArrayT. More...
 
typedef BitArraySubsetT< BitArrayBitArraySubset
 Default subset of a BitArray – see BitArraySubsetT. More...
 
typedef CommandLineT CommandLine
 Process command-line arguments. More...
 
typedef SharedPtr< CortexModuleBaseCortexModulePtr
 Smart/Shared pointer to a class inheriting CortexModuleBase. More...
 
typedef StreamMT< FileFileMT
 File with mutex for synchonization – see File and StreamMT<File> More...
 
typedef FloatT< float > Float
 Basic single-precision floating-point type (float) – see FloatT. More...
 
typedef FloatT< double > FloatD
 Basic double-precision floating-point type (double) – see FloatT. More...
 
typedef FloatT< long double > FloatL
 Basic long-double floating-point type (long double) – see FloatT. More...
 
typedef FmtFloatT< float > FmtFloat
 Explicitly format a floating pointer number. More...
 
typedef FmtFloatT< double > FmtFloatD
 Explicitly format a floating pointer number. More...
 
typedef FmtFloatT< ldouble > FmtFloatL
 Explicitly format a floating pointer number. More...
 
typedef FmtIntT< int > FmtInt
 Explicitly format an integer. More...
 
typedef FmtIntT< int16 > FmtInt16
 Explicitly format an integer. More...
 
typedef FmtIntT< int32 > FmtInt32
 Explicitly format an integer. More...
 
typedef FmtIntT< int64 > FmtInt64
 Explicitly format an integer. More...
 
typedef FmtIntT< int8 > FmtInt8
 Explicitly format an integer. More...
 
typedef FmtIntT< long > FmtLong
 Explicitly format an integer. More...
 
typedef FmtIntT< longl > FmtLongL
 Explicitly format an integer. More...
 
typedef FmtIntT< short > FmtShort
 Explicitly format an integer. More...
 
typedef FmtIntT< uint > FmtUInt
 Explicitly format an integer. More...
 
typedef FmtIntT< uint16 > FmtUInt16
 Explicitly format an integer. More...
 
typedef FmtIntT< uint32 > FmtUInt32
 Explicitly format an integer. More...
 
typedef FmtIntT< uint64 > FmtUInt64
 Explicitly format an integer. More...
 
typedef FmtIntT< uint8 > FmtUInt8
 Explicitly format an integer. More...
 
typedef FmtIntT< ulong > FmtULong
 Explicitly format an integer. More...
 
typedef FmtIntT< ulongl > FmtULongL
 Explicitly format an integer. More...
 
typedef FmtIntT< ushort > FmtUShort
 Explicitly format an integer. More...
 
typedef IntegerT< int > Int
 Basic integer type (int) – see IntegerT. More...
 
typedef IntegerT< int16 > Int16
 Basic integer type (int16) – see IntegerT. More...
 
typedef IntegerT< int32 > Int32
 Basic integer type (int32) – see IntegerT. More...
 
typedef IntegerT< int64 > Int64
 Basic integer type (int64) – see IntegerT. More...
 
typedef IntegerT< int8 > Int8
 Basic integer type (int8) – see IntegerT. More...
 
typedef IntegerT< long > Long
 Basic integer type (long) – see IntegerT. More...
 
typedef IntegerT< longl > LongL
 Basic integer type (long long) – see IntegerT. More...
 
typedef std::memory_order MemOrder
 Atomic memory order (fence) type. More...
 
typedef StreamMT< PipeInPipeInMT
 Input pipe with mutex for synchonization – see StreamMT. More...
 
typedef StreamMT< PipeOutPipeOutMT
 Output pipe with mutex for synchonization – see StreamMT. More...
 
typedef pid_t ProcessId
 Process ID type. More...
 
typedef IntegerT< short > Short
 Basic integer type (short) – see IntegerT. More...
 
typedef uint32 SizeT
 Default Evo container size type. More...
 
typedef StaticBool< false > StaticBoolF
 Static bool value (false). More...
 
typedef StaticBool< true > StaticBoolT
 Static bool value (true). More...
 
typedef MapHash< String, StringStrHash
 MapHash using String keys and values. More...
 
typedef String::ListBaseType StringBase
 Base string typedef. More...
 
typedef MapList< String, StringStrMapList
 MapList using String keys and values. More...
 
typedef SetHash< StringStrSetHash
 SetHash using String values. More...
 
typedef SetList< StringStrSetList
 SetList using String values. More...
 
typedef uint32 StrSizeT
 Default Evo string size type. More...
 
typedef StrTokVariant< StrTok,&StrTok::nextq,&StrTok::nextanyqStrTokQ
 String forward tokenizer based on StrTok with quoted token support. More...
 
typedef StrTokVariant< StrTokR,&StrTokR::nextq,&StrTokR::nextanyqStrTokQR
 String reverse tokenizer based on StrTokR with quoted token support. More...
 
typedef StrTokVariant< StrTok,&StrTok::nextwStrTokWord
 String forward word tokenizer based on StrTok. More...
 
typedef StrTokVariant< StrTokR,&StrTokR::nextwStrTokWordR
 String reverse word tokenizer based on StrTokR. More...
 
typedef StrTokVariant< StrTokRS,&StrTokRS::nextwStrTokWordRS
 String reverse word tokenizer based on StrTokRS (strict). More...
 
typedef StrTokVariant< StrTokS,&StrTokS::nextwStrTokWordS
 String forward word tokenizer based on StrTokS (strict). More...
 
typedef TimerT< TimerStampWallTimer
 Timer that works like a stopwatch and measures real (wall clock) time. More...
 
typedef TimerT< TimerStampCpuTimerCpu
 Timer that works like a stopwatch and measures CPU (process) time. More...
 
typedef IntegerT< uint > UInt
 Basic integer type (unsigned int) – see IntegerT. More...
 
typedef IntegerT< uint16 > UInt16
 Basic integer type (uint16) – see IntegerT. More...
 
typedef IntegerT< uint32 > UInt32
 Basic integer type (uint32) – see IntegerT. More...
 
typedef IntegerT< uint64 > UInt64
 Basic integer type (uint64) – see IntegerT. More...
 
typedef IntegerT< uint8 > UInt8
 Basic integer type (uint8) – see IntegerT. More...
 
typedef IntegerT< ulong > ULong
 Basic integer type (unsigned long) – see IntegerT. More...
 
typedef IntegerT< ulongl > ULongL
 Basic integer type (unsigned long long) – see IntegerT. More...
 
typedef IntegerT< ushort > UShort
 Basic integer type (unsigned short) – see IntegerT. More...
 
typedef Var VarList
 Alias for Var, useful for explicitly passing a list to a VarObject field value (C++11). More...
 

Enumerations

enum  AsyncError {
  aeNONE = 0, aeCONNECT, aeCLOSED, aeIO,
  aeIO_READ, aeIO_WRITE, aeTIMEOUT, aeCLIENT
}
 Async I/O error type. More...
 
enum  AsyncReadResult { arrERROR = 0, arrDONE, arrMORE }
 Async I/O read results used by protocol events. More...
 
enum  CharBreakType {
  cbtOTHER = 0, cbtWSPACE, cbtQUOTE, cbtBEGIN,
  cbtEND, cbtWORD
}
 Character break type returned by ascii_breaktype(). More...
 
enum  CharType {
  ctOTHER = 0, ctWSPACE, ctPUNCT, ctDIGIT,
  ctUPPER, ctLOWER
}
 Character type returned by ascii_type(). More...
 
enum  Error {
  ENone = 0, EEnd, EMoreOutput, ENonBlock,
  EUnknown, ENotImpl, EInvalOp, EInval,
  EFail, ELoss, ERetry, EBufSize,
  EOutOfBounds, EClosed, ETimeout, ESignal,
  EPtr, ESpace, EAccess, EExist,
  ENotFound, ENotDir, ESize, ELimit,
  ELength, ERead, EWrite, EInput
}
 General Evo error code stored in exceptions, or used directly when exceptions are disabled. More...
 
enum  Flush { fFLUSH =0 }
 Signals an output stream to flush pending data. More...
 
enum  FmtAlign { faCURRENT = 0, fLEFT, fCENTER, fRIGHT }
 Formatting alignment. More...
 
enum  FmtBase {
  fbCURRENT = 0, fbAUTO = 0, fBIN = 2, fOCT = 8,
  fDEC = 10, fHEX = 16, fHEXL = 116
}
 Formatting integer base. More...
 
enum  FmtBasePrefix { fbpCURRENT = 0, fPREFIX0, fPREFIX1, fPREFIX2 }
 Formatting integer base prefix type. More...
 
enum  FmtPrecision {
  fpCURRENT = -2, fPREC_AUTO = -1, fPREC0 = 0, fPREC1,
  fPREC2, fPREC3, fPREC4, fPREC5,
  fPREC6
}
 Formatting floating point precision type. More...
 
enum  FmtWidth { fWIDTH0 = 0 }
 Formatting field width. More...
 
enum  IteratorDir { iterNONE, iterFW, iterRV }
 Iterator direction value. More...
 
enum  IteratorPos { iterFIRST, iterLAST, iterEND }
 Iterator position value. More...
 
enum  LogLevel {
  LOG_LEVEL_DISABLED = 0, LOG_LEVEL_ALERT, LOG_LEVEL_ERROR, LOG_LEVEL_WARN,
  LOG_LEVEL_INFO, LOG_LEVEL_DEBUG, LOG_LEVEL_DEBUG_LOW
}
 Log severity level used with Logger. More...
 
enum  Newline { nLF =0, nCR, nCRLF, nLFCR }
 Newline type. More...
 
enum  Open {
  oREAD = O_RDONLY, oREAD_WRITE = O_RDWR, oREAD_WRITE_NEW = O_RDWR | O_CREAT | O_TRUNC, oREAD_APPEND = O_RDWR | O_APPEND,
  oREAD_APPEND_NEW = O_RDWR | O_APPEND | O_CREAT | O_TRUNC, oWRITE = O_WRONLY, oWRITE_NEW = O_WRONLY | O_CREAT | O_TRUNC, oAPPEND = O_WRONLY | O_CREAT | O_APPEND,
  oAPPEND_NEW = O_WRONLY | O_APPEND | O_CREAT | O_TRUNC
}
 Open mode for files and streams. More...
 
enum  Seek { sBegin = SEEK_SET, sCurrent = SEEK_CUR, sEnd = SEEK_END }
 Seek starting position. More...
 
enum  StringSearchAlg { ssaDEFAULT =0, ssaKMP, ssaBASIC }
 String search algorithm selection. More...
 
enum  UtfMode { umINCLUDE_INVALID, umREPLACE_INVALID, umSKIP_INVALID, umSTRICT }
 UTF decoding mode used to set how to handle invalid character values. More...
 
enum  ValAlgReverse { vREVERSE =0 }
 Special value type to reverse algorithm, pass as vREVERSE. More...
 
enum  ValEmpty { vEMPTY =0 }
 Special empty value type, pass as vEMPTY. More...
 
enum  ValNull { vNULL =0 }
 Unique null value type and value (vNULL). More...
 

Functions

template<class T >
T & applymax (T &val, T &max)
 
template<class T >
T & applymin (T &val, T &min)
 
template<class T >
T & applyminmax (T &val, T &min, T &max)
 
CharBreakType ascii_breaktype (char ch)
 Get ASCII character word-break type. More...
 
char ascii_tolower (char ch)
 Convert ASCII character to lowercase. More...
 
char ascii_toupper (char ch)
 Convert ASCII character to uppercase. More...
 
CharType ascii_type (char ch)
 Get ASCII character type. More...
 
const char * async_error_msg (AsyncError err)
 Get error message for AsyncError code. More...
 
template<class T >
uint bits_clz (T mask)
 Get leading zero count on bitmask. More...
 
uint bits_clz16 (uint16 mask)
 Get leading zero count on bitmask (uint16). More...
 
uint bits_clz32 (uint32 mask)
 Get leading zero count on bitmask (uint32). More...
 
uint bits_clz64 (uint64 mask)
 Get leading zero count on bitmask (uint64). More...
 
uint bits_clz8 (uint8 mask)
 Get leading zero count on bitmask (uint8). More...
 
bool bits_cpu_popcnt ()
 Runtime check whether current CPU supports the POPCNT instruction. More...
 
template<class T >
int bits_popcount (T mask)
 Get population count (number of bits set) for value. More...
 
Consolecon ()
 Shortcut for Console::get(). More...
 
ConsoleMTcon_mt ()
 Shortcut for ConsoleMT::get(). More...
 
template<class T >
T & constrain (T &val, T &min, T &max)
 
template<class T >
T & constrainmax (T &val, T &max)
 
template<class T >
T & constrainmin (T &val, T &min)
 
bool daemonize (uint flags=0)
 Daemonize current process to run in background as a service (Linux/Unix). More...
 
const char * errormsg (Error error)
 Get general error message for error code. More...
 
template<class TOut >
TOut & errormsg_out (TOut &out, Error err)
 Write error message with errno to output stream/string. More...
 
const char * errormsg_socket (Error error)
 Get socket error message for error code. More...
 
template<class T >
first (T val1, T val2)
 
template<class T >
first (T val1, T val2, T val3)
 
template<class T , uint sz>
static uint fixed_array_size (T(&)[sz])
 Get size of fixed-length array. More...
 
template<class T >
FmtTableOut< T, FmtTable::CachedWriterfmt_table (T &out, FmtTable &table, FmtTable::Type type=FmtTable::tTEXT)
 Create cached FmtTableOut paired with given string/stream to write to. More...
 
template<class T >
FmtTableOut< T, FmtTable::Writerfmt_table_nocache (T &out, FmtTable &table, FmtTable::Type type=FmtTable::tTEXT)
 Create cached FmtTableOut paired with given string/stream to write to. More...
 
Stringget_abspath (String &outpath, SubString &path)
 Get absolute path for given input path. More...
 
Stringget_cwd (String &outpath)
 Store current working directory in string. More...
 
ProcessId get_pid ()
 Get current process ID. More...
 
ulong get_tid ()
 Get current thread ID from system. More...
 
const char * getnewline (Newline newline=NL)
 Get newline string for given type. More...
 
uint getnewlinesize (Newline newline=NL)
 Get newline string size for given type. More...
 
template<class T >
bool is_null (const T &val)
 Check whether object or value is null. More...
 
template<class T >
bool is_pow2 (T num)
 Get whether a number is a power of 2. More...
 
template<class TMap >
SubString lookupsub (const TMap &map, const typename TMap::Key &key)
 Lookup (find) map value as SubString for given key. More...
 
template<class T >
bool map_contains (const T &map, const typename T::Key &key, const typename T::Value &value)
 Check whether map contains key with matching value. More...
 
template<class T >
T & max (T &a, T &b)
 Returns highest of given values. More...
 
template<class T >
T & max (T &a, T &b, T &c)
 Returns highest of given values. More...
 
template<class T >
T & min (T &a, T &b)
 Returns lowest of given values. More...
 
template<class T >
T & min (T &a, T &b, T &c)
 Returns lowest of given values. More...
 
template<class T >
next_pow2 (T v)
 Get next power of 2 equal to or greater than given number. More...
 
bool open_readable (Open open)
 Check whether open mode is readable. More...
 
bool open_writable (Open open)
 Check whether open mode is writable. More...
 
template<class T >
bool operator!= (T val1, const Nullable< T > &val2)
 Inequality operator comparing value with Nullable value. More...
 
template<class T >
bool operator!= (const PtrBase< T > &ptr1, const PtrBase< T, Atomic< T *> > &ptr2)
 Inequality operator for managed pointer base and atomic pointer base. More...
 
template<class T >
bool operator!= (const BitArraySubsetT< BitArrayT< T > > &a, const BitArrayT< T > &b)
 Inequality operator. More...
 
template<class T >
bool operator< (T val1, const Nullable< T > &val2)
 Less than operator comparing value with Nullable value. More...
 
template<class T >
bool operator< (const PtrBase< T > &ptr1, const PtrBase< T, Atomic< T *> > &ptr2)
 Less-than operator for managed pointer base and atomic pointer base. More...
 
template<class T >
bool operator<= (T val1, const Nullable< T > &val2)
 Less than or equal operator comparing value with Nullable value. More...
 
template<class T >
bool operator<= (const PtrBase< T > &ptr1, const PtrBase< T, Atomic< T *> > &ptr2)
 Less-than-or-equals operator for managed pointer base and atomic pointer base. More...
 
template<class T >
bool operator== (T val1, const Nullable< T > &val2)
 Equality operator comparing value with Nullable value. More...
 
template<class T >
bool operator== (const PtrBase< T > &ptr1, const PtrBase< T, Atomic< T *> > &ptr2)
 Equality operator for managed pointer base and atomic pointer base. More...
 
template<class T >
bool operator== (const BitArraySubsetT< BitArrayT< T > > &a, const BitArrayT< T > &b)
 Equality operator. More...
 
template<class T >
bool operator> (T val1, const Nullable< T > &val2)
 Greater than operator comparing value with Nullable value. More...
 
template<class T >
bool operator> (const PtrBase< T > &ptr1, const PtrBase< T, Atomic< T *> > &ptr2)
 Greater-than operator for managed pointer base and atomic pointer base. More...
 
template<class T >
bool operator>= (T val1, const Nullable< T > &val2)
 Greater than or equal operator comparing value with Nullable value. More...
 
template<class T >
bool operator>= (const PtrBase< T > &ptr1, const PtrBase< T, Atomic< T *> > &ptr2)
 Greater-than-or-equals operator for managed pointer base and atomic pointer base. More...
 
Error set_cwd (const char *path, bool excep=1)
 Set current working directory. More...
 
template<class Size >
Size size_pow2 (Size size, Size minsize=2)
 Get size as power of 2. More...
 
bool sleepms (ulong msec)
 Sleep for number of milliseconds. More...
 
bool sleepns (ulongl nsec)
 Sleep for number of nanoseconds. More...
 
bool sleepus (ulongl usec)
 Sleep for number of microseconds. More...
 
template<class TMap >
const TMap::mapped_type * stdlookup (const TMap &map, const typename TMap::key_type &key)
 Lookup (find) STL map value for given key (const). More...
 
template<class TMap >
TMap::mapped_type * stdlookupM (TMap &map, const typename TMap::key_type &key)
 Lookup (find) STL map value for given key (mutable). More...
 
template<class TMap >
SubString stdlookupsub (const TMap &map, const typename TMap::key_type &key)
 Lookup (find) STL map value as SubString for given key. More...
 
bool str_scan_backtickdel (const char *str, const char *end)
 Scan string for a Backtick + DEL pair. More...
 
template<class T >
const char * str_scan_decimal (T &num, const char *str, const char *end)
 Scan string pointer for decimal number and return stop pointer. More...
 
const char * str_scan_delim (const char *str, const char *end, char delim1, char delim2)
 Scan string pointer for next delimiter and return stop pointer. More...
 
const char * str_scan_delim (const char *str, const char *end, const char *delims, uint delim_count)
 Scan string pointer for next delimiter and return stop pointer. More...
 
const char * str_scan_delim_r (const char *str, const char *end, char delim1, char delim2)
 Scan string pointer for next delimiter in reverse and return new end after stop pointer. More...
 
const char * str_scan_delim_r (const char *str, const char *end, const char *delims, uint delim_count)
 Scan string pointer for next delimiter in reverse and return new end after stop pointer. More...
 
const char * str_scan_endq (const char *&startq, const char *&endq, const char *str, const char *end)
 Scan string pointer and extract quoted or unquoted text. More...
 
const char * str_scan_endq (const char *&startq, const char *&endq, const char *str, const char *end, char delim)
 Scan string pointer and extract quoted or unquoted text with a delimiter. More...
 
const char * str_scan_endq (const char *&startq, const char *&endq, const char *str, const char *end, char delim1, char delim2)
 Scan string pointer and extract quoted or unquoted text with 2 possible delimiters. More...
 
const char * str_scan_endq (const char *&startq, const char *&endq, const char *str, const char *end, const char *delims, uint delim_count, char ws_delim=0)
 Scan string pointer and extract quoted or unquoted text with multiple possible delimiters. More...
 
const char * str_scan_endq_r (const char *&startq, const char *&endq, const char *str, const char *end, char delim)
 Scan string pointer in reverse and extract quoted or unquoted text with a delimiter and return new end after stop pointer. More...
 
const char * str_scan_endq_r (const char *&startq, const char *&endq, const char *str, const char *end, const char *delims, uint delim_count, char ws_delim=0)
 Scan string pointer in reverse and extract quoted or unquoted text with multiple possible delimiters and return new end after stop pointer. More...
 
template<class T >
const char * str_scan_hex (T &num, const char *str, const char *end)
 Scan string pointer for hex number and return stop pointer. More...
 
const char * str_scan_ndelim (const char *str, const char *end, char delim1, char delim2)
 Scan string pointer for next non-delimiter and return stop pointer. More...
 
const char * str_scan_ndelim_r (const char *str, const char *end, char delim1, char delim2)
 Scan string pointer for next non-delimiter in reverse and return new end after stop pointer. More...
 
const char * str_scan_nws (const char *str, const char *end)
 Scan string pointer for next non-whitespace character and return stop pointer. More...
 
const char * str_scan_nws (const char *str, const char *end, char delim)
 Scan string pointer for next delimiter or non-whitespace character and return stop pointer. More...
 
const char * str_scan_nws_r (const char *str, const char *end)
 Scan string pointer for next non-whitespace character in reverse and return new end after stop pointer. More...
 
const char * str_scan_nws_r (const char *str, const char *end, char delim)
 Scan string pointer for next delimiter or non-whitespace character and return stop pointer. More...
 
const char * str_scan_to (uint maxlen, const char *str, const char *end, char ch)
 Scan string pointer for char and return stop pointer. More...
 
const char * str_scan_to (uint maxlen, const char *str, const char *end, char ch1, char ch2)
 Scan string pointer for either of 2 chars and return stop pointer. More...
 
const char * string_memrchr (const char *str, char ch, size_t size)
 Evo implementation of memrchr() to search for character in reverse. More...
 
template<class T >
void swap (T &a, T &b)
 Swap contents of given objects. More...
 
int utf16_compare (const wchar16 *str1, ulong len1, const wchar16 *str2, ulong len2)
 Compare two non-terminated UTF-16 strings. More...
 
int utf16_compare (const wchar16 *str1, ulong len1, const wchar16 *str2)
 Compare a non-terminated UTF-16 string with a terminated UTF-16 string. More...
 
int utf16_compare (const wchar16 *str1, const wchar16 *str2)
 Compare two terminated UTF-16 strings. More...
 
int utf16_compare8 (const wchar16 *str1, ulong len1, const char *str2, ulong len2)
 Compare a non-terminated UTF-16 string to a non-terminated UTF-8 string. More...
 
int utf16_compare8 (const wchar16 *str1, ulong len1, const char *str2)
 Compare a non-terminated UTF-16 string to a terminated UTF-8 string. More...
 
int utf16_compare8 (const wchar16 *str1, const char *str2)
 Compare a terminated UTF-16 string to a terminated UTF-8 string. More...
 
ulong utf16_count (const wchar16 *str, const wchar16 *end, UtfMode mode=umREPLACE_INVALID)
 Count Unicode character values in UTF-16 string. More...
 
const wchar16 * utf16_min (const wchar16 *str, const wchar16 *end, bool strict=false, uint mincount=1)
 Scan for UTF-16 surrogate pairs, which each require a pair of wchar16 values (4 bytes). More...
 
const wchar16 * utf16_scan (wchar32 &code, const wchar16 *str, const wchar16 *end, UtfMode mode=umREPLACE_INVALID)
 Scan for next Unicode character in UTF-16 string. More...
 
const wchar16 * utf16_scan_term (wchar32 &code, const wchar16 *str, UtfMode mode=umREPLACE_INVALID)
 Scan for next Unicode character in terminated UTF-16 string. More...
 
ulong utf16_strlen (const wchar16 *str)
 Find terminated UTF-16 string length. More...
 
ulong utf16_to8 (const wchar16 *&str, const wchar16 *end, char *outbuf=NULL, ulong outsize=0, UtfMode mode=umREPLACE_INVALID)
 Convert UTF-16 string to UTF-8 string. More...
 
int utf8_compare (const char *str1, ulong len1, const char *str2, ulong len2)
 Compare two non-terminated UTF-8 strings. More...
 
int utf8_compare (const char *str1, ulong len1, const char *str2)
 Compare non-terminated and terminated UTF-8 strings. More...
 
int utf8_compare (const char *str1, const char *str2)
 Compare two terminated UTF-8 strings. More...
 
ulong utf8_count (const char *str, const char *end, UtfMode mode=umREPLACE_INVALID)
 Count Unicode character values in UTF-8 string. More...
 
const char * utf8_min (const char *str, const char *end, bool strict=false, ulong mincount=1, uint minsize=2)
 Scan for UTF-8 multi-byte characters of at least minsize. More...
 
const char * utf8_scan (wchar32 &code, const char *str, const char *end, UtfMode mode=umREPLACE_INVALID)
 Scan for next Unicode character in UTF-8 string. More...
 
const char * utf8_scan_term (wchar32 &code, const char *str, UtfMode mode=umREPLACE_INVALID)
 Scan for next Unicode character in terminated UTF-8 string. More...
 
ulong utf8_to16 (const char *&str, const char *end, wchar16 *outbuf=NULL, ulong outsize=0, UtfMode mode=umREPLACE_INVALID)
 Convert UTF-8 string to UTF-16 string. More...
 
template<class T >
bool validate (T &val, T &min, T &max)
 
template<class T >
T & validate (T &val, T &min, T &max, T &invalid)
 

Variables

static const EndT ALL
 Special integer value for indicating all items or all remaining items. More...
 
static const uint DAEMONIZE_NO_CD = 0x01
 Flag to skip changing current directory – see daemonize() More...
 
static const uint DAEMONIZE_NO_EXIT = 0x04
 Flag to return false on error instead of calling exit(1) – see daemonize() More...
 
static const uint DAEMONIZE_NO_REDIR = 0x02
 Flag to skip std in/out/err redirects – see daemonize() More...
 
static const uint DAEMONIZE_USE_STDERR = 0x08
 Flag to use stderr instead of syslog for writing errors – see daemonize() More...
 
static const EndT END
 Special integer value for indicating end of items or no item. More...
 
static const LogLevel LOG_LEVEL_REMAP []
 Log level remapping for EVO_ENUM_REMAP(). More...
 
static const NewlineDefaultNL = NewlineDefault()
 Default newline type. More...
 
static const Newline NL_SYS = nLF
 Current system newline type. More...
 
static const EndT NONE
 Special integer value for indicating no item or unknown item. More...
 
static const wchar16 UNICODE_REPLACEMENT_CHAR = 0xFFFD
 Unicode code point for "Replacement Character" used when decoding invalid UTF bytes or values. More...
 

Detailed Description

Evo C++ Library namespace.

Typedef Documentation

◆ SizeT

typedef uint32 SizeT

Default Evo container size type.

  • Always unsigned
  • This may be overridden in any Evo container template

◆ StrSizeT

typedef uint32 StrSizeT

Default Evo string size type.

  • Always unsigned

Enumeration Type Documentation

◆ Error

enum Error

General Evo error code stored in exceptions, or used directly when exceptions are disabled.

Enumerator
ENone 

No error.

EEnd 

Reached end of resource (not an error)

EMoreOutput 

More pending output to flush (not an error)

ENonBlock 

Operation would block (non-blocking I/O)

EUnknown 

Unknown or unspecified error.

ENotImpl 

Function not supported/implemented.

EInvalOp 

Invalid or unsupported operation.

EInval 

Invalid argument or data.

EFail 

Operation failed.

ELoss 

Operation aborted to prevent data loss (used in special cases)

ERetry 

Temporary failure occurred, try again.

EBufSize 

Buffer too small error.

EOutOfBounds 

Out of bounds error.

EClosed 

Stream or resource is closed

ETimeout 

Operation timed out.

ESignal 

System call interrupted by signal (Linux/Unix), auto-resume disabled.

EPtr 

Invalid pointer used.

ESpace 

Not enough space/memory available.

EAccess 

Permission denied.

EExist 

Resource already exists.

ENotFound 

Resource not found.

ENotDir 

Path component is not a directory.

ESize 

Size limit exceeded.

ELimit 

System resource limit reached.

ELength 

String length limit exceeded

ERead 

General stream or resource read error.

EWrite 

General stream or resource write error.

EInput 

Truncated or incomplete input (error version of EEnd)

◆ Flush

enum Flush

Signals an output stream to flush pending data.

Enumerator
fFLUSH 

◆ Newline

enum Newline

Newline type.

  • Use NL for default newline type, or NL_SYS for explicit system newline
  • Newline values are supported by Stream and String operator<<()
Enumerator
nLF 

Line Feed "\n" (Linux/Unix/MacOS)

nCR 

Carriage Return "\r" (Classic MacOS)

nCRLF 

Carriage Return + Line Feed "\r\n" (Windows, DOS, Internet)

nLFCR 

Line Feed + Carriage Return "\n\r" (RISC OS)

◆ ValAlgReverse

Special value type to reverse algorithm, pass as vREVERSE.

Enumerator
vREVERSE 

Special value to reverse an algorithm passed with type ValAlgReverse.

◆ ValEmpty

enum ValEmpty

Special empty value type, pass as vEMPTY.

Enumerator
vEMPTY 

Special empty value passed with type ValEmpty.

◆ ValNull

enum ValNull

Unique null value type and value (vNULL).

  • This gives a consistent null type/value before and after C++11, and is distinct from pointer types like C++11 nullptr (doesn't conflict with overloads using pointers)
Enumerator
vNULL 

Null value with unique type, same as nullptr with C++11, otherwise a unique enum value before C++11

Function Documentation

◆ errormsg()

const char* evo::errormsg ( Error  error)
inline

Get general error message for error code.

  • #include <evo/type.h> (included by most evo headers)
Parameters
errorError code – see Error
Returns
Message for error code (null terminated, always an immutable string literal)

◆ errormsg_out()

TOut& evo::errormsg_out ( TOut &  out,
Error  err 
)
inline

Write error message with errno to output stream/string.

  • #include <evo/type.h> (included by most evo headers)
  • Must call right after the error, otherwise errno may be overwritten
Parameters
outStream or String to write output to
errError code to format message for

◆ getnewline()

const char* evo::getnewline ( Newline  newline = NL)
inline

Get newline string for given type.

  • #include <evo/type.h> (included by most evo headers)
Parameters
newlineNewline type (default is newline for current platform)
Returns
Newline string

◆ getnewlinesize()

uint evo::getnewlinesize ( Newline  newline = NL)
inline

Get newline string size for given type.

  • #include <evo/type.h> (included by most evo headers)
Parameters
newlineNewline type (default is newline for current platform)
Returns
Newline string size (length)

◆ sleepms()

bool evo::sleepms ( ulong  msec)
inline

Sleep for number of milliseconds.

  • #include <evo/type.h> (included by most evo headers)
  • Caution: Do not sleep in an async callback as it will block other callbacks
Parameters
msecMilliseconds to sleep, must be > 0
Returns
Whether successful, false if sleep failed (shouldn't happen)

◆ sleepns()

bool evo::sleepns ( ulongl  nsec)
inline

Sleep for number of nanoseconds.

  • #include <evo/type.h> (included by most evo headers)
  • On UNIX/Linux systems this will ignore signals
  • On Windows the lowest precision is in 100-nanosecond units so this will sleep at least 100 nanoseconds
  • Caution: Do not sleep in an async callback as it will block other callbacks
Parameters
nsecNanoseconds to sleep, must be > 0
Returns
Whether successful, false if sleep failed (shouldn't happen)

◆ sleepus()

bool evo::sleepus ( ulongl  usec)
inline

Sleep for number of microseconds.

  • #include <evo/type.h> (included by most evo headers)
  • On UNIX/Linux systems this will ignore signals
  • Caution: Do not sleep in an async callback as it will block other callbacks
Parameters
usecMicroseconds to sleep, must be > 0
Returns
Whether successful, false if sleep failed (shouldn't happen)

◆ swap()

void evo::swap ( T &  a,
T &  b 
)
inline

Swap contents of given objects.

  • #include <evo/type.h> (included by most evo headers)
  • The object memory is swapped directly, so this works with any relocatable object type
Template Parameters
TObject type, inferred from parameters
Parameters
aFirst object to swap
bSecond object to swap

Variable Documentation

◆ NL

const NewlineDefault& NL = NewlineDefault()
static

Default newline type.

  • By default this is the same as the system newline (NL_SYS), though Stream instances may override with their own default
  • When used with Stream operator<<() this will usually trigger a flush as well

◆ NL_SYS

const Newline NL_SYS = nLF
static

Current system newline type.

  • When used with Stream operator<<() this will usually trigger a flush as well