# Library Foundation

# Package Core

## Overview

Classes: AbstractInstantiator, Any, ApplicationException, Array, Ascii, AssertionViolationException, AtomicCounter, AtomicFlag, AutoPtr, AutoReleasePool, BadCastException, BasicFIFOBuffer, Buffer, Bugcheck, BugcheckException, ByteOrder, CILess, Checksum, CircularReferenceException, CreateFileException, DataException, DataFormatException, Debugger, DefaultValue, DirectoryNotEmptyException, DynamicFactory, Environment, EnvironmentImpl, Error, Exception, ExecuteFileException, ExistsException, FPEnvironment, FastMemoryPool, FileAccessDeniedException, FileException, FileExistsException, FileNotFoundException, FileNotReadyException, FileReadOnlyException, IOException, IllegalStateException, Instantiator, InvalidAccessException, InvalidArgumentException, IsConst, IsReference, LibraryAlreadyLoadedException, LibraryLoadException, ListMap, LogicException, MPSCQueue, MemoryPool, NDCScope, NamedTuple, NestedDiagnosticContext, NoPermissionException, NoThreadAvailableException, NotFoundException, NotImplementedException, NullPointerException, NullTypeList, NullValueException, Nullable, NumberFormatter, NumberParser, ObjectPool, OpenFileException, Optional, OutOfMemoryException, PathNotFoundException, PathSyntaxException, Placeholder, PoolOverflowException, PoolableObjectFactory, PropertyNotSupportedException, ProtocolException, Ptr, RangeException, ReadFileException, RefCountedObject, ReferenceCounter, RegularExpressionException, ReleaseArrayPolicy, ReleasePolicy, ResourceLimitException, RuntimeException, SPSCQueue, SharedPtr, SignalException, SingletonHolder, Size, StringTokenizer, SyntaxException, SystemException, ThreadInterruptedException, TimeoutException, TooManyURIRedirectsException, Tuple, TupleLess, TypeGetter, TypeList, TypeListType, TypeWrapper, URISyntaxException, UnhandledException, UnknownURISchemeException, Void, WriteFileException, i_char_traits

Functions: AnyCast, AnyHoldsNullPtr, RefAnyCast, UnsafeAnyCast, cat, cstrlen, decimalSeparator, demangle, demangleDot, doubleToFixedStr, doubleToStr, endsWith, floatToFixedStr, floatToStr, format, formatAny, icompare, intToStr, isIntOverflow, isNegative, isSafeIntCast, isubstr, makeAuto, makeShared, makeSharedArray, operator !=, operator &, operator &=, operator <, operator <<, operator <=, operator ==, operator >, operator >=, operator [], operator |, operator |=, remove, removeInPlace, replace, replaceInPlace, safeIntCast, safeMultiply, secureClear, startsWith, strToDouble, strToFloat, strToInt, swap, thousandSeparator, toJSON, toLower, toLowerInPlace, toUpper, toUpperInPlace, translate, translateInPlace, trim, trimInPlace, trimLeft, trimLeftInPlace, trimRight, trimRightInPlace, uIntToStr

## Classes

### class AbstractInstantiator

The common base class for all Instantiator instantiations.

### class Any

Any class represents a general type and is capable of storing any type, supporting type-safe extraction of the internally stored data.

### class ApplicationException

### class Array

STL container like C-style array replacement class.

### class Ascii

This class contains enumerations and static utility functions for dealing with ASCII characters and their properties.

### class AssertionViolationException

### class AtomicCounter

This class implements a simple counter, which provides atomic operations that are safe to use in a multithreaded environment.

### class AtomicFlag

This class implements an atomic boolean flag by wrapping the std::atomic_flag.

### class AutoPtr

AutoPtr is a "smart" pointer for classes implementing reference counting based garbage collection.

### class AutoReleasePool

An AutoReleasePool implements simple garbage collection for reference-counted objects.

### class BadCastException

### class BasicFIFOBuffer

A simple buffer class with support for re-entrant, FIFO-style read/write operations, as well as (optional) empty/non-empty/full (i.

### class Buffer

A buffer class that allocates a buffer of a given type and size in the constructor and deallocates the buffer in the destructor.

### class Bugcheck

This class provides some static methods that are used by the poco_assert_dbg(), poco_assert(), poco_check_ptr(), poco_bugcheck() and poco_unexpected() macros.

### class BugcheckException

### class ByteOrder

This class contains a number of static methods to convert between big-endian and little-endian integers of various sizes.

### struct CILess

Case-insensitive less-than functor; useful for standard maps and sets with std::strings keys and case-insensitive ordering requirement.

### class Checksum

This class calculates CRC-32 or Adler-32 checksums for arbitrary data.

### class CircularReferenceException

### class CreateFileException

### class DataException

### class DataFormatException

### class Debugger

The Debugger class provides an interface to the debugger.

### struct DefaultValue

### class DirectoryNotEmptyException

### class DynamicFactory

A factory that creates objects by class name.

### class Environment

This class provides access to environment variables and some general system information.

### class EnvironmentImpl

### class Error

The Error class provides utility functions for error reporting.

### class Exception

This is the base class for all exceptions defined in the Poco class library.

### class ExecuteFileException

### class ExistsException

### class FPEnvironment

Instances of this class can be used to save and later restore the current floating point environment (consisting of rounding mode and floating-point flags).

### class FastMemoryPool

FastMemoryPool is a class for pooling fixed-size blocks of memory.

### class FileAccessDeniedException

### class FileException

### class FileExistsException

### class FileNotFoundException

### class FileNotReadyException

### class FileReadOnlyException

### class IOException

### class IllegalStateException

### class Instantiator

A template class for the easy instantiation of instantiators.

### class InvalidAccessException

### class InvalidArgumentException

### struct IsConst

Use this struct to determine if a template type is a const type.

### struct IsReference

Use this struct to determine if a template type is a reference.

### class LibraryAlreadyLoadedException

### class LibraryLoadException

### class ListMap

This class implements a multimap in terms of a sequential container.

### class LogicException

### class MPSCQueue

A lock-free multi-producer single-consumer (MPSC) bounded queue.

### class MemoryPool

A simple pool for fixed-size memory blocks.

### class NDCScope

This class can be used to automatically push a context onto the NDC stack at the beginning of a scope, and to pop the context at the end of the scope.

### struct NamedTuple

### class NestedDiagnosticContext

This class implements a Nested Diagnostic Context (NDC), as described in Neil Harrison's article "Patterns for Logging Diagnostic Messages" in "Pattern Languages of Program Design 3" (Addison-Wesley).

### class NoPermissionException

### class NoThreadAvailableException

### class NotFoundException

### class NotImplementedException

### class NullPointerException

### struct NullTypeList

### class NullValueException

### class Nullable

Nullable is a simple wrapper class for value types that allows objects or native type variables to have "null" value.

### class NumberFormatter

The NumberFormatter class provides static methods for formatting numeric values into strings.

### class NumberParser

The NumberParser class provides static methods for parsing numbers out of strings.

### class ObjectPool

An ObjectPool manages a pool of objects of a certain class.

### class OpenFileException

### class Optional

Optional is a simple wrapper class for value types that allows to introduce a specified/unspecified state to value objects.

### class OutOfMemoryException

### class PathNotFoundException

### class PathSyntaxException

### struct Placeholder

ValueHolder union (used by Poco::Any and Poco::Dynamic::Var for small object optimization, when enabled).

### class PoolOverflowException

### class PoolableObjectFactory

A PoolableObjectFactory is responsible for creating and resetting objects managed by an ObjectPool.

### class PropertyNotSupportedException

### class ProtocolException

### class Ptr

Utility char pointer wrapper class.

### class RangeException

### class ReadFileException

### class RefCountedObject

A base class for objects that employ reference counting based garbage collection.

### class ReferenceCounter

Simple ReferenceCounter object, does not delete itself when count reaches 0.

### class RegularExpressionException

### class ReleaseArrayPolicy

The release policy for SharedPtr holding arrays.

### class ReleasePolicy

The default release policy for SharedPtr, which simply uses the delete operator to delete an object.

### class ResourceLimitException

### class RuntimeException

### class SPSCQueue

A lock-free single-producer single-consumer (SPSC) bounded queue.

### class SharedPtr

SharedPtr is a "smart" pointer for classes implementing reference counting based garbage collection.

### class SignalException

### class SingletonHolder

This is a helper template class for managing singleton objects allocated on the heap.

### struct Size

### class StringTokenizer

A simple tokenizer that splits a string into tokens, which are separated by separator characters.

### class SyntaxException

### class SystemException

### class ThreadInterruptedException

### class TimeoutException

### class TooManyURIRedirectsException

### struct Tuple

Tuple - a fixed-size collection of heterogeneous values.

### struct TupleLess

Convert TypeList to std::tuple Helper to compare tuples element by element for less-than

### struct TypeGetter

TypeGetter - get the type at index N from a TypeList.

### struct TypeList

TypeList - a compile-time list of types.

### struct TypeListType

Get the type at index N from a TypeList TypeListType - creates a TypeList from up to 40 type parameters.

### struct TypeWrapper

Use the type wrapper if you want to decouple constness and references from template types.

### class URISyntaxException

### class UnhandledException

### class UnknownURISchemeException

### class Void

A dummy class with value-type semantics, mostly useful as a template argument.

### class WriteFileException

### struct i_char_traits