CppCommon  1.0.4.1
C++ Common Library
Classes | Typedefs | Enumerations | Functions | Variables
CppCommon Namespace Reference

C++ Common project definitions. More...

Classes

class  TokenBucket
 Token bucket rate limit algorithm. More...
 
class  FileCache
 File cache. More...
 
class  MemCache
 Memory cache. More...
 
struct  IsEnumFlags
 Enum-based flags false checker. More...
 
class  Flags
 Enum-based flags. More...
 
class  Function
 Allocation free function stub. More...
 
class  Function< R(Args...), Capacity >
 Allocation free function. More...
 
class  Reader
 Reader interface. More...
 
class  uint128_t
 Unsigned 128-bit integer type. More...
 
class  uint256_t
 Unsigned 256-bit integer type. More...
 
class  Writer
 Writer interface. More...
 
class  BinTreeIterator
 Intrusive binary tree iterator. More...
 
class  BinTreeConstIterator
 Intrusive binary tree constant iterator. More...
 
class  BinTreeReverseIterator
 Intrusive binary tree reverse iterator. More...
 
class  BinTreeConstReverseIterator
 Intrusive binary tree constant reverse iterator. More...
 
class  BinTree
 Intrusive non balanced binary tree container. More...
 
class  BinTreeAA
 Intrusive balanced A.Andersson binary tree container. More...
 
class  BinTreeAVL
 Intrusive balanced AVL binary tree container. More...
 
class  BinTreeRB
 Intrusive balanced Red-Black binary tree container. More...
 
class  BinTreeSplay
 Intrusive balanced Splay binary tree container. More...
 
class  FlatMap
 Flat map container. More...
 
class  HashMapIterator
 Hash map iterator. More...
 
class  HashMapConstIterator
 Hash map constant iterator. More...
 
class  HashMapReverseIterator
 Hash map reverse iterator. More...
 
class  HashMapConstReverseIterator
 Hash map constant reverse iterator. More...
 
class  HashMap
 Hash map container. More...
 
class  ListIterator
 Intrusive list iterator. More...
 
class  ListConstIterator
 Intrusive list constant iterator. More...
 
class  ListReverseIterator
 Intrusive list reverse iterator. More...
 
class  ListConstReverseIterator
 Intrusive list constant reverse iterator. More...
 
class  List
 Intrusive list container. More...
 
class  QueueIterator
 Intrusive queue iterator. More...
 
class  QueueConstIterator
 Intrusive queue constant iterator. More...
 
class  Queue
 Intrusive queue container. More...
 
class  StackIterator
 Intrusive stack iterator. More...
 
class  StackConstIterator
 Intrusive stack constant iterator. More...
 
class  Stack
 Intrusive stack container. More...
 
class  Exception
 Exception. More...
 
class  ArgumentException
 Argument exception. More...
 
class  DomainException
 Domain exception. More...
 
class  RuntimeException
 Runtime exception. More...
 
class  SecurityException
 Security exception. More...
 
class  SystemException
 System exception. More...
 
class  ExceptionsHandler
 Exceptions handler. More...
 
class  SystemError
 System error. More...
 
class  Directory
 Filesystem directory. More...
 
class  DirectoryIterator
 Filesystem directory iterator. More...
 
class  FileSystemException
 File system exception. More...
 
class  File
 Filesystem file. More...
 
struct  SpaceInfo
 Filesystem space information. More...
 
class  Path
 Filesystem path. More...
 
class  Symlink
 Filesystem symlink. More...
 
class  Math
 Math static class. More...
 
class  Allocator
 Memory allocator class. More...
 
class  Allocator< void, TMemoryManager, nothrow >
 Memory allocator class (void specialization) More...
 
class  DefaultMemoryManager
 Default memory manager class. More...
 
class  ArenaMemoryManager
 Arena memory manager class. More...
 
class  HeapMemoryManager
 Heap memory manager class. More...
 
class  NullMemoryManager
 Null memory manager class. More...
 
class  PoolMemoryManager
 Memory pool manager class. More...
 
class  StackMemoryManager
 Stack memory manager class. More...
 
class  Memory
 Memory management static class. More...
 
class  Encoding
 Encoding utilities. More...
 
class  StringUtils
 String utilities. More...
 
class  Console
 Console management static class. More...
 
class  CPU
 CPU management static class. More...
 
class  DLL
 Dynamic link library. More...
 
class  Environment
 Environment management static class. More...
 
class  DLLException
 Dynamic link library exception. More...
 
class  Pipe
 Pipe. More...
 
class  Process
 Process abstraction. More...
 
class  SharedMemory
 Shared memory manager. More...
 
class  SharedType
 Shared memory type. More...
 
class  SourceLocation
 Source location. More...
 
class  StackTrace
 Stack trace snapshot provider. More...
 
class  StackTraceManager
 Stack trace manager. More...
 
class  StdInput
 Standard input stream. More...
 
class  StdOutput
 Standard output stream. More...
 
class  StdError
 Standard error stream. More...
 
class  UUID
 Universally unique identifier (UUID) More...
 
class  Barrier
 Barrier synchronization primitive. More...
 
class  ConditionVariable
 Condition variable synchronization primitive. More...
 
class  CriticalSection
 Critical section synchronization primitive. More...
 
class  EventAutoReset
 Auto-reset event synchronization primitive. More...
 
class  EventManualReset
 Manual-reset event synchronization primitive. More...
 
class  FileLock
 File-lock synchronization primitive. More...
 
class  Latch
 Latch synchronization primitive. More...
 
class  Locker
 Locker synchronization primitive. More...
 
class  ReadLocker
 Read locker synchronization primitive. More...
 
class  WriteLocker
 Write locker synchronization primitive. More...
 
class  MPMCRingQueue
 Multiple producers / multiple consumers wait-free ring queue. More...
 
class  MPSCLinkedBatcher
 Multiple producers / single consumer wait-free linked batcher. More...
 
class  MPSCLinkedQueue
 Multiple producers / single consumer wait-free linked queue. More...
 
class  MPSCRingBuffer
 Multiple producers / single consumer wait-free ring buffer. More...
 
class  MPSCRingQueue
 Multiple producers / single consumer wait-free ring queue. More...
 
class  Mutex
 Mutex synchronization primitive. More...
 
class  NamedConditionVariable
 Named condition variable synchronization primitive. More...
 
class  NamedCriticalSection
 Named critical section synchronization primitive. More...
 
class  NamedEventAutoReset
 Named auto-reset event synchronization primitive. More...
 
class  NamedEventManualReset
 Named manual-reset event synchronization primitive. More...
 
class  NamedMutex
 Named mutex synchronization primitive. More...
 
class  NamedRWLock
 Named read/write lock synchronization primitive. More...
 
class  NamedSemaphore
 Named semaphore synchronization primitive. More...
 
class  RWLock
 Read/Write lock synchronization primitive. More...
 
class  Semaphore
 Semaphore synchronization primitive. More...
 
class  SeqLock
 Sequential lock synchronization primitive. More...
 
class  SpinBarrier
 Spin barrier synchronization primitive. More...
 
class  SpinLock
 Spin-lock synchronization primitive. More...
 
class  SPSCRingBuffer
 Single producer / single consumer wait-free ring buffer. More...
 
class  SPSCRingQueue
 Single producer / single consumer wait-free ring queue. More...
 
class  Thread
 Thread abstraction. More...
 
class  WaitBatcher
 Multiple producers / multiple consumers wait batcher. More...
 
class  WaitQueue
 Multiple producers / multiple consumers wait queue. More...
 
class  WaitRing
 Multiple producers / multiple consumers wait ring. More...
 
class  Time
 Time. More...
 
class  UtcTime
 UTC time. More...
 
class  LocalTime
 Local time. More...
 
class  Timespan
 Timespan. More...
 
class  Timestamp
 Timestamp. More...
 
class  EpochTimestamp
 Epoch timestamp. More...
 
class  UtcTimestamp
 UTC timestamp. More...
 
class  LocalTimestamp
 Local timestamp. More...
 
class  NanoTimestamp
 High resolution timestamp. More...
 
class  RdtsTimestamp
 RDTS timestamp. More...
 
class  Timezone
 Timezone. More...
 
class  Endian
 Big/Little-endian utilities. More...
 
class  WriteChar
 Write character stream manipulator. More...
 
class  WriteWChar
 Write wide character stream manipulator. More...
 
class  WriteString
 Write string stream manipulator. More...
 
class  WriteWString
 Write wide string stream manipulator. More...
 
class  Singleton
 Singleton template base class. More...
 
class  StaticConstructor
 Static constructor pattern. More...
 
class  ValidateAlignedStorage
 Aligned storage validator. More...
 

Typedefs

template<typename T , bool nothrow = false>
using DefaultAllocator = Allocator< T, DefaultMemoryManager, nothrow >
 Default memory allocator class. More...
 
template<typename T , class TAuxMemoryManager = DefaultMemoryManager, bool nothrow = false>
using ArenaAllocator = Allocator< T, ArenaMemoryManager< TAuxMemoryManager >, nothrow >
 Arena memory allocator class. More...
 
template<typename T , bool nothrow = false>
using HeapAllocator = Allocator< T, HeapMemoryManager, nothrow >
 Heap memory allocator class. More...
 
template<typename T , bool nothrow = false>
using NullAllocator = Allocator< T, NullMemoryManager, nothrow >
 Null memory allocator class. More...
 
template<typename T , class TAuxMemoryManager = DefaultMemoryManager, bool nothrow = false>
using PoolAllocator = Allocator< T, PoolMemoryManager< TAuxMemoryManager >, nothrow >
 Pool memory allocator class. More...
 
template<typename T , size_t N, bool nothrow = false>
using StackAllocator = Allocator< T, StackMemoryManager< N >, nothrow >
 Stack memory allocator class. More...
 

Enumerations

enum class  FileType {
  NONE , REGULAR , DIRECTORY , SYMLINK ,
  BLOCK , CHARACTER , FIFO , SOCKET ,
  UNKNOWN
}
 File types. More...
 
enum class  FileAttributes {
  NONE = 0x00 , NORMAL = 0x01 , ARCHIVED = 0x02 , HIDDEN = 0x04 ,
  INDEXED = 0x08 , OFFLINE = 0x10 , READONLY = 0x20 , SYSTEM = 0x40 ,
  TEMPORARY = 0x80
}
 File attributes (Windows specific) More...
 
enum class  FilePermissions {
  NONE = 00000 , IRUSR = 00400 , IWUSR = 00200 , IXUSR = 00100 ,
  IRWXU = 00700 , IRGRP = 00040 , IWGRP = 00020 , IXGRP = 00010 ,
  IRWXG = 00070 , IROTH = 00004 , IWOTH = 00002 , IXOTH = 00001 ,
  IRWXO = 00007 , ISUID = 04000 , ISGID = 02000 , ISVTX = 01000
}
 File permissions (Unix specific) More...
 
enum class  Color {
  BLACK , BLUE , GREEN , CYAN ,
  RED , MAGENTA , BROWN , GREY ,
  DARKGREY , LIGHTBLUE , LIGHTGREEN , LIGHTCYAN ,
  LIGHTRED , LIGHTMAGENTA , YELLOW , WHITE
}
 Supported console colors. More...
 
enum class  ThreadPriority : uint8_t {
  IDLE = 0x00 , LOWEST = 0x1F , LOW = 0x3F , NORMAL = 0x7F ,
  HIGH = 0x9F , HIGHEST = 0xBF , REALTIME = 0xFF
}
 Thread priorities. More...
 
enum class  Weekday {
  Sunday , Monday , Tuesday , Wednesday ,
  Thursday , Friday , Saturday
}
 Weekday. More...
 

Functions

void swap (FileCache &cache1, FileCache &cache2) noexcept
 
template<typename TKey , typename TValue >
void swap (MemCache< TKey, TValue > &cache1, MemCache< TKey, TValue > &cache2) noexcept
 
template<typename TEnum >
void swap (Flags< TEnum > &flags1, Flags< TEnum > &flags2) noexcept
 
template<typename TEnum >
constexpr auto operator& (TEnum value1, TEnum value2) noexcept -> typename std::enable_if< IsEnumFlags< TEnum >::value, Flags< TEnum >>::type
 
template<typename TEnum >
constexpr auto operator| (TEnum value1, TEnum value2) noexcept -> typename std::enable_if< IsEnumFlags< TEnum >::value, Flags< TEnum >>::type
 
template<typename TEnum >
constexpr auto operator^ (TEnum value1, TEnum value2) noexcept -> typename std::enable_if< IsEnumFlags< TEnum >::value, Flags< TEnum >>::type
 
template<class R , class... Args, size_t Capacity>
void swap (Function< R(Args...), Capacity > &function1, Function< R(Args...), Capacity > &function2) noexcept
 
uint128_t operator+ (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint128_t operator- (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint128_t operator/ (const uint128_t &value1, const uint128_t &value2)
 
uint128_t operator% (const uint128_t &value1, const uint128_t &value2)
 
uint128_t operator& (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint128_t operator| (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint128_t operator^ (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator== (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator!= (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator< (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator> (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator<= (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator>= (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator&& (const uint128_t &value1, const uint128_t &value2) noexcept
 
bool operator|| (const uint128_t &value1, const uint128_t &value2) noexcept
 
std::ostream & operator<< (std::ostream &os, const uint128_t &value)
 
std::wostream & operator<< (std::wostream &os, const uint128_t &value)
 
void swap (uint128_t &value1, uint128_t &value2) noexcept
 
uint256_t operator+ (const uint256_t &value1, const uint256_t &value2) noexcept
 
uint256_t operator- (const uint256_t &value1, const uint256_t &value2) noexcept
 
uint256_t operator/ (const uint256_t &value1, const uint256_t &value2)
 
uint256_t operator% (const uint256_t &value1, const uint256_t &value2)
 
uint256_t operator& (const uint256_t &value1, const uint256_t &value2) noexcept
 
uint256_t operator| (const uint256_t &value1, const uint256_t &value2) noexcept
 
uint256_t operator^ (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator== (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator!= (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator< (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator> (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator<= (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator>= (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator&& (const uint256_t &value1, const uint256_t &value2) noexcept
 
bool operator|| (const uint256_t &value1, const uint256_t &value2) noexcept
 
std::ostream & operator<< (std::ostream &os, const uint256_t &value)
 
std::wostream & operator<< (std::wostream &os, const uint256_t &value)
 
void swap (uint256_t &value1, uint256_t &value2) noexcept
 
template<typename T , typename TCompare >
void swap (BinTree< T, TCompare > &bintree1, BinTree< T, TCompare > &bintree2) noexcept
 
template<class TContainer , typename T >
void swap (BinTreeIterator< TContainer, T > &it1, BinTreeIterator< TContainer, T > &it2) noexcept
 
template<class TContainer , typename T >
void swap (BinTreeConstIterator< TContainer, T > &it1, BinTreeConstIterator< TContainer, T > &it2) noexcept
 
template<class TContainer , typename T >
void swap (BinTreeReverseIterator< TContainer, T > &it1, BinTreeReverseIterator< TContainer, T > &it2) noexcept
 
template<class TContainer , typename T >
void swap (BinTreeConstReverseIterator< TContainer, T > &it1, BinTreeConstReverseIterator< TContainer, T > &it2) noexcept
 
template<typename T , typename TCompare >
void swap (BinTreeAA< T, TCompare > &bintree1, BinTreeAA< T, TCompare > &bintree2) noexcept
 
template<typename T , typename TCompare >
void swap (BinTreeAVL< T, TCompare > &bintree1, BinTreeAVL< T, TCompare > &bintree2) noexcept
 
template<typename T , typename TCompare >
void swap (BinTreeRB< T, TCompare > &bintree1, BinTreeRB< T, TCompare > &bintree2) noexcept
 
template<typename T , typename TCompare >
void swap (BinTreeSplay< T, TCompare > &bintree1, BinTreeSplay< T, TCompare > &bintree2) noexcept
 
template<typename TKey , typename TValue , typename TCompare , typename TAllocator >
void swap (FlatMap< TKey, TValue, TCompare, TAllocator > &flatmap1, FlatMap< TKey, TValue, TCompare, TAllocator > &flatmap2) noexcept
 
template<typename TKey , typename TValue , typename THash , typename TEqual , typename TAllocator >
void swap (HashMap< TKey, TValue, THash, TEqual, TAllocator > &hashmap1, HashMap< TKey, TValue, THash, TEqual, TAllocator > &hashmap2) noexcept
 
template<class TContainer , typename TKey , typename TValue >
void swap (HashMapIterator< TContainer, TKey, TValue > &it1, HashMapIterator< TContainer, TKey, TValue > &it2) noexcept
 
template<class TContainer , typename TKey , typename TValue >
void swap (HashMapConstIterator< TContainer, TKey, TValue > &it1, HashMapConstIterator< TContainer, TKey, TValue > &it2) noexcept
 
template<class TContainer , typename TKey , typename TValue >
void swap (HashMapReverseIterator< TContainer, TKey, TValue > &it1, HashMapReverseIterator< TContainer, TKey, TValue > &it2) noexcept
 
template<class TContainer , typename TKey , typename TValue >
void swap (HashMapConstReverseIterator< TContainer, TKey, TValue > &it1, HashMapConstReverseIterator< TContainer, TKey, TValue > &it2) noexcept
 
template<typename T >
void swap (List< T > &list1, List< T > &list2) noexcept
 
template<typename T >
void swap (ListIterator< T > &it1, ListIterator< T > &it2) noexcept
 
template<typename T >
void swap (ListConstIterator< T > &it1, ListConstIterator< T > &it2) noexcept
 
template<typename T >
void swap (ListReverseIterator< T > &it1, ListReverseIterator< T > &it2) noexcept
 
template<typename T >
void swap (ListConstReverseIterator< T > &it1, ListConstReverseIterator< T > &it2) noexcept
 
template<typename T >
void swap (Queue< T > &queue1, Queue< T > &queue2) noexcept
 
template<typename T >
void swap (QueueIterator< T > &it1, QueueIterator< T > &it2) noexcept
 
template<typename T >
void swap (QueueConstIterator< T > &it1, QueueConstIterator< T > &it2) noexcept
 
template<typename T >
void swap (Stack< T > &stack1, Stack< T > &stack2) noexcept
 
template<typename T >
void swap (StackIterator< T > &it1, StackIterator< T > &it2) noexcept
 
template<typename T >
void swap (StackConstIterator< T > &it1, StackConstIterator< T > &it2) noexcept
 
void fatal (const SourceLocation &location, const StackTrace &trace, const std::string &message, int error=SystemError::GetLast()) noexcept
 Fatal abort execution. More...
 
void fatal (const SourceLocation &location, const StackTrace &trace, const std::exception &fatal) noexcept
 Fatal abort execution. More...
 
void swap (Directory &directory1, Directory &directory2) noexcept
 
bool operator== (const DirectoryIterator &it1, const DirectoryIterator &it2) noexcept
 
bool operator!= (const DirectoryIterator &it1, const DirectoryIterator &it2) noexcept
 
void swap (DirectoryIterator &it1, DirectoryIterator &it2) noexcept
 
void swap (File &file1, File &file2) noexcept
 
void swap (Path &path1, Path &path2) noexcept
 
void swap (Symlink &symlink1, Symlink &symlink2) noexcept
 
template<typename T >
GCD (T a, T b)
 
template<typename T , typename U , class TMemoryManager , bool nothrow>
bool operator== (const Allocator< T, TMemoryManager, nothrow > &alloc1, const Allocator< U, TMemoryManager, nothrow > &alloc2) noexcept
 
template<typename T , typename U , class TMemoryManager , bool nothrow>
bool operator!= (const Allocator< T, TMemoryManager, nothrow > &alloc1, const Allocator< U, TMemoryManager, nothrow > &alloc2) noexcept
 
template<typename... T>
std::string format (fmt::format_string< T... > pattern, T &&... args)
 Format string. More...
 
template<typename... T>
std::wstring format (fmt::wformat_string< T... > pattern, T &&... args)
 Format wide string. More...
 
template<typename... T>
void print (fmt::format_string< T... > pattern, T &&... args)
 Format string and print it into the std::cout. More...
 
template<typename... T>
void print (fmt::wformat_string< T... > pattern, T &&... args)
 Format wide string and print it into the std::cout. More...
 
template<typename TOutputStream , typename... T>
void print (TOutputStream &stream, fmt::format_string< T... > pattern, T &&... args)
 Format string and print it into the given std::ostream. More...
 
template<typename TOutputStream , typename... T>
void print (TOutputStream &stream, fmt::wformat_string< T... > pattern, T &&... args)
 Format wide string and print it into the given std::ostream. More...
 
template<class TOutputStream >
TOutputStream & operator<< (TOutputStream &stream, Color color)
 Stream manipulator: change console text color. More...
 
template<class TOutputStream >
TOutputStream & operator<< (TOutputStream &stream, std::pair< Color, Color > colors)
 Stream manipulator: change console text and background colors. More...
 
void swap (DLL &dll1, DLL &dll2) noexcept
 
void swap (Pipe &pipe1, Pipe &pipe2) noexcept
 
void swap (Process &process1, Process &process2) noexcept
 
std::ostream & operator<< (std::ostream &os, const SourceLocation &source_location)
 
void swap (StdInput &stream1, StdInput &stream2) noexcept
 
void swap (StdOutput &stream1, StdOutput &stream2) noexcept
 
void swap (StdError &stream1, StdError &stream2) noexcept
 
void swap (UUID &uuid1, UUID &uuid2) noexcept
 
template<class TOutputStream >
TOutputStream & operator<< (TOutputStream &stream, ThreadPriority priority)
 Stream output: Thread priorities. More...
 
template<class TOutputStream >
TOutputStream & operator<< (TOutputStream &stream, Weekday weekday)
 Stream output: Weekday. More...
 
bool operator== (const Time &time1, const Time &time2) noexcept
 
bool operator!= (const Time &time1, const Time &time2) noexcept
 
bool operator> (const Time &time1, const Time &time2) noexcept
 
bool operator< (const Time &time1, const Time &time2) noexcept
 
bool operator>= (const Time &time1, const Time &time2) noexcept
 
bool operator<= (const Time &time1, const Time &time2) noexcept
 
void swap (Time &time1, Time &time2) noexcept
 
void swap (Timespan &timespan1, Timespan &timespan2) noexcept
 
void swap (Timestamp &timestamp1, Timestamp &timestamp2) noexcept
 
void swap (Timezone &timezone1, Timezone &timezone2) noexcept
 
template<typename T , size_t N>
constexpr size_t countof (const T(&)[N]) noexcept
 Count of elements in static array. More...
 
template<typename T >
size_t countof (const T &container) noexcept
 Count of elements in any other STL container. More...
 
template<typename T , typename TCleaner >
auto resource (T handle, TCleaner cleaner)
 Resource smart cleaner pattern. More...
 
template<typename TCleaner >
auto resource (void *handle, TCleaner cleaner)
 Resource smart cleaner pattern (void* specialization) More...
 
template<typename TCleaner >
auto resource (TCleaner cleaner)
 Resource smart cleaner pattern for empty resource handle. More...
 
uint128_t operator* (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint128_t operator<< (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint128_t operator>> (const uint128_t &value1, const uint128_t &value2) noexcept
 
uint256_t operator* (const uint256_t &value1, const uint256_t &value2) noexcept
 
uint256_t operator<< (const uint256_t &value1, const uint256_t &value2) noexcept
 
uint256_t operator>> (const uint256_t &value1, const uint256_t &value2) noexcept
 
std::ostream & operator<< (std::ostream &os, const StackTrace::Frame &frame)
 
std::ostream & operator<< (std::ostream &os, const StackTrace &stack_trace)
 

Variables

const char version [] = "1.0.4.1"
 Project version. More...
 

Detailed Description

C++ Common project definitions.

Typedef Documentation

◆ ArenaAllocator

template<typename T , class TAuxMemoryManager = DefaultMemoryManager, bool nothrow = false>
using CppCommon::ArenaAllocator = typedef Allocator<T, ArenaMemoryManager<TAuxMemoryManager>, nothrow>

Arena memory allocator class.

Definition at line 143 of file allocator_arena.h.

◆ DefaultAllocator

template<typename T , bool nothrow = false>
using CppCommon::DefaultAllocator = typedef Allocator<T, DefaultMemoryManager, nothrow>

Default memory allocator class.

Definition at line 230 of file allocator.h.

◆ HeapAllocator

template<typename T , bool nothrow = false>
using CppCommon::HeapAllocator = typedef Allocator<T, HeapMemoryManager, nothrow>

Heap memory allocator class.

Definition at line 78 of file allocator_heap.h.

◆ NullAllocator

template<typename T , bool nothrow = false>
using CppCommon::NullAllocator = typedef Allocator<T, NullMemoryManager, nothrow>

Null memory allocator class.

Definition at line 67 of file allocator_null.h.

◆ PoolAllocator

template<typename T , class TAuxMemoryManager = DefaultMemoryManager, bool nothrow = false>
using CppCommon::PoolAllocator = typedef Allocator<T, PoolMemoryManager<TAuxMemoryManager>, nothrow>

Pool memory allocator class.

Definition at line 162 of file allocator_pool.h.

◆ StackAllocator

template<typename T , size_t N, bool nothrow = false>
using CppCommon::StackAllocator = typedef Allocator<T, StackMemoryManager<N>, nothrow>

Stack memory allocator class.

Definition at line 87 of file allocator_stack.h.

Enumeration Type Documentation

◆ Color

enum CppCommon::Color
strong

Supported console colors.

Enumerator
BLACK 

Black color.

BLUE 

Blue color.

GREEN 

Green color.

CYAN 

Cyan color.

RED 

Red color.

MAGENTA 

Magenta color.

BROWN 

Brown color.

GREY 

Grey color.

DARKGREY 

Dark grey color.

LIGHTBLUE 

Light blue color.

LIGHTGREEN 

Light green color.

LIGHTCYAN 

Light cyan color.

LIGHTRED 

Light red color.

LIGHTMAGENTA 

Light magenta color.

YELLOW 

Yellow color.

WHITE 

White color.

Definition at line 17 of file console.h.

◆ FileAttributes

File attributes (Windows specific)

Enumerator
NONE 

None.

NORMAL 

Normal.

ARCHIVED 

Archived.

HIDDEN 

Hidden.

INDEXED 

Indexed.

OFFLINE 

Offline.

READONLY 

Readonly.

SYSTEM 

System.

TEMPORARY 

Temporary.

Definition at line 36 of file path.h.

◆ FilePermissions

File permissions (Unix specific)

Enumerator
NONE 

None.

IRUSR 

Read permission bit for the owner of the file.

IWUSR 

Write permission bit for the owner of the file.

IXUSR 

Execute (for ordinary files) or search (for directories) permission bit for the owner of the file.

IRWXU 

This is equivalent to IRUSR | IWUSR | IXUSR.

IRGRP 

Read permission bit for the group owner of the file.

IWGRP 

Write permission bit for the group owner of the file.

IXGRP 

Execute or search permission bit for the group owner of the file.

IRWXG 

This is equivalent to IRGRP | IWGRP | IXGRP.

IROTH 

Read permission bit for other users.

IWOTH 

Write permission bit for other users.

IXOTH 

Execute or search permission bit for other users.

IRWXO 

This is equivalent to IROTH | IWOTH | IXOTH.

ISUID 

This is the set-user-ID on execute bit.

ISGID 

This is the set-group-ID on execute bit.

ISVTX 

This is the sticky bit.

Definition at line 50 of file path.h.

◆ FileType

enum CppCommon::FileType
strong

File types.

Enumerator
NONE 

None (file not found)

REGULAR 

Regular file.

DIRECTORY 

Directory.

SYMLINK 

Symbolic link.

BLOCK 

Block device.

CHARACTER 

Character device.

FIFO 

FIFO (named pipe)

SOCKET 

Socket.

UNKNOWN 

Unknown.

Definition at line 22 of file path.h.

◆ ThreadPriority

enum CppCommon::ThreadPriority : uint8_t
strong

Thread priorities.

Enumerator
IDLE 

Idle thread priority.

LOWEST 

Lowest thread priority.

LOW 

Low thread priority.

NORMAL 

Normal thread priority.

HIGH 

High thread priority.

HIGHEST 

Highest thread priority.

REALTIME 

Realtime thread priority.

Definition at line 27 of file thread.h.

◆ Weekday

enum CppCommon::Weekday
strong

Weekday.

Enumerator
Sunday 
Monday 
Tuesday 
Wednesday 
Thursday 
Friday 
Saturday 

Definition at line 17 of file time.h.

Function Documentation

◆ countof() [1/2]

template<typename T >
size_t CppCommon::countof ( const T &  container)
noexcept

Count of elements in any other STL container.

Definition at line 20 of file countof.h.

◆ countof() [2/2]

template<typename T , size_t N>
constexpr size_t CppCommon::countof ( const   T(&)[N])
constexprnoexcept

Count of elements in static array.

Examples
filesystem_file.cpp.

Definition at line 16 of file countof.h.

◆ fatal() [1/2]

void CppCommon::fatal ( const SourceLocation location,
const StackTrace trace,
const std::exception &  fatal 
)
noexcept

Fatal abort execution.

Fatal aborts execution. It will print fatal exception into the std::cerr stream, get and print the last system error code and message, stack trace if available. Finally abort() function will be called!

Thread-safe.

Parameters
location- Source location
trace- Stack trace
fatal- Fatal exception

Definition at line 26 of file fatal.cpp.

◆ fatal() [2/2]

void CppCommon::fatal ( const SourceLocation location,
const StackTrace trace,
const std::string &  message,
int  error = SystemError::GetLast() 
)
noexcept

Fatal abort execution.

Fatal aborts execution. It will print fatal message into the std::cerr stream, get and print the last system error code and message, stack trace if available. Finally abort() function will be called!

Thread-safe.

Parameters
location- Source location
trace- Stack trace
message- Fatal message
error- System error code

Definition at line 16 of file fatal.cpp.

◆ format() [1/2]

template<typename... T>
std::string CppCommon::format ( fmt::format_string< T... >  pattern,
T &&...  args 
)
inline

Format string.

Format string with the help of {fmt} library (http://fmtlib.net)

Thread-safe.

Parameters
pattern- Format string pattern
args- Format arguments
Returns
Formatted string
Examples
errors_exceptions_handler.cpp, and string_format.cpp.

Definition at line 12 of file format.inl.

◆ format() [2/2]

template<typename... T>
std::wstring CppCommon::format ( fmt::wformat_string< T... >  pattern,
T &&...  args 
)
inline

Format wide string.

Format wide string with the help of {fmt} library (http://fmtlib.net)

Thread-safe.

Parameters
pattern- Format wide string pattern
args- Format arguments
Returns
Formatted wide string

Definition at line 18 of file format.inl.

◆ GCD()

template<typename T >
T CppCommon::GCD ( a,
b 
)
inline

Definition at line 12 of file math.inl.

◆ operator!=() [1/5]

template<typename T , typename U , class TMemoryManager , bool nothrow>
bool CppCommon::operator!= ( const Allocator< T, TMemoryManager, nothrow > &  alloc1,
const Allocator< U, TMemoryManager, nothrow > &  alloc2 
)
inlinenoexcept

Definition at line 23 of file allocator.inl.

◆ operator!=() [2/5]

bool CppCommon::operator!= ( const DirectoryIterator it1,
const DirectoryIterator it2 
)
inlinenoexcept

Definition at line 16 of file directory_iterator.inl.

◆ operator!=() [3/5]

bool CppCommon::operator!= ( const Time time1,
const Time time2 
)
inlinenoexcept

Definition at line 64 of file time.inl.

◆ operator!=() [4/5]

bool CppCommon::operator!= ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 120 of file uint128.inl.

◆ operator!=() [5/5]

bool CppCommon::operator!= ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 132 of file uint256.inl.

◆ operator%() [1/2]

uint128_t CppCommon::operator% ( const uint128_t value1,
const uint128_t value2 
)
inline

Definition at line 95 of file uint128.inl.

◆ operator%() [2/2]

uint256_t CppCommon::operator% ( const uint256_t value1,
const uint256_t value2 
)
inline

Definition at line 107 of file uint256.inl.

◆ operator&() [1/3]

uint128_t CppCommon::operator& ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 100 of file uint128.inl.

◆ operator&() [2/3]

uint256_t CppCommon::operator& ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 112 of file uint256.inl.

◆ operator&() [3/3]

template<typename TEnum >
constexpr auto CppCommon::operator& ( TEnum  value1,
TEnum  value2 
) -> typename std::enable_if<IsEnumFlags<TEnum>::value, Flags<TEnum>>::type
constexprnoexcept

Definition at line 18 of file flags.inl.

◆ operator&&() [1/2]

bool CppCommon::operator&& ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 145 of file uint128.inl.

◆ operator&&() [2/2]

bool CppCommon::operator&& ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 157 of file uint256.inl.

◆ operator*() [1/2]

uint128_t CppCommon::operator* ( const uint128_t value1,
const uint128_t value2 
)
noexcept

Definition at line 13 of file uint128.cpp.

◆ operator*() [2/2]

uint256_t CppCommon::operator* ( const uint256_t value1,
const uint256_t value2 
)
noexcept

Definition at line 13 of file uint256.cpp.

◆ operator+() [1/2]

uint128_t CppCommon::operator+ ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 80 of file uint128.inl.

◆ operator+() [2/2]

uint256_t CppCommon::operator+ ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 92 of file uint256.inl.

◆ operator-() [1/2]

uint128_t CppCommon::operator- ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 85 of file uint128.inl.

◆ operator-() [2/2]

uint256_t CppCommon::operator- ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 97 of file uint256.inl.

◆ operator/() [1/2]

uint128_t CppCommon::operator/ ( const uint128_t value1,
const uint128_t value2 
)
inline

Definition at line 90 of file uint128.inl.

◆ operator/() [2/2]

uint256_t CppCommon::operator/ ( const uint256_t value1,
const uint256_t value2 
)
inline

Definition at line 102 of file uint256.inl.

◆ operator<() [1/3]

bool CppCommon::operator< ( const Time time1,
const Time time2 
)
inlinenoexcept

Definition at line 118 of file time.inl.

◆ operator<() [2/3]

bool CppCommon::operator< ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept
Examples
containers_bintree.cpp.

Definition at line 125 of file uint128.inl.

◆ operator<() [3/3]

bool CppCommon::operator< ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 137 of file uint256.inl.

◆ operator<<() [1/13]

uint128_t CppCommon::operator<< ( const uint128_t value1,
const uint128_t value2 
)
noexcept

Definition at line 58 of file uint128.cpp.

◆ operator<<() [2/13]

uint256_t CppCommon::operator<< ( const uint256_t value1,
const uint256_t value2 
)
noexcept

Definition at line 47 of file uint256.cpp.

◆ operator<<() [3/13]

std::ostream& CppCommon::operator<< ( std::ostream &  os,
const SourceLocation source_location 
)
inline

Definition at line 11 of file source_location.inl.

◆ operator<<() [4/13]

std::ostream& CppCommon::operator<< ( std::ostream &  os,
const StackTrace stack_trace 
)

Definition at line 262 of file stack_trace.cpp.

◆ operator<<() [5/13]

std::ostream& CppCommon::operator<< ( std::ostream &  os,
const StackTrace::Frame frame 
)

Definition at line 48 of file stack_trace.cpp.

◆ operator<<() [6/13]

std::ostream& CppCommon::operator<< ( std::ostream &  os,
const uint128_t value 
)
inline

Definition at line 155 of file uint128.inl.

◆ operator<<() [7/13]

std::ostream& CppCommon::operator<< ( std::ostream &  os,
const uint256_t value 
)
inline

Definition at line 167 of file uint256.inl.

◆ operator<<() [8/13]

std::wostream& CppCommon::operator<< ( std::wostream &  os,
const uint128_t value 
)
inline

Definition at line 166 of file uint128.inl.

◆ operator<<() [9/13]

std::wostream& CppCommon::operator<< ( std::wostream &  os,
const uint256_t value 
)
inline

Definition at line 178 of file uint256.inl.

◆ operator<<() [10/13]

template<class TOutputStream >
TOutputStream & CppCommon::operator<< ( TOutputStream &  stream,
Color  color 
)
inline

Stream manipulator: change console text color.

Parameters
stream- Output stream
color- Console text color
Returns
Output stream

Definition at line 12 of file console.inl.

◆ operator<<() [11/13]

template<class TOutputStream >
TOutputStream & CppCommon::operator<< ( TOutputStream &  stream,
std::pair< Color, Color colors 
)
inline

Stream manipulator: change console text and background colors.

Parameters
stream- Output stream
colors- Console text and background colors
Returns
Output stream

Definition at line 19 of file console.inl.

◆ operator<<() [12/13]

template<class TOutputStream >
TOutputStream & CppCommon::operator<< ( TOutputStream &  stream,
ThreadPriority  priority 
)
inline

Stream output: Thread priorities.

Parameters
stream- Output stream
priority- Thread priority
Returns
Output stream

Definition at line 12 of file thread.inl.

◆ operator<<() [13/13]

template<class TOutputStream >
TOutputStream & CppCommon::operator<< ( TOutputStream &  stream,
Weekday  weekday 
)
inline

Stream output: Weekday.

Parameters
stream- Output stream
weekday- Weekday
Returns
Output stream

Definition at line 12 of file time.inl.

◆ operator<=() [1/3]

bool CppCommon::operator<= ( const Time time1,
const Time time2 
)
inlinenoexcept

Definition at line 212 of file time.inl.

◆ operator<=() [2/3]

bool CppCommon::operator<= ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 135 of file uint128.inl.

◆ operator<=() [3/3]

bool CppCommon::operator<= ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 147 of file uint256.inl.

◆ operator==() [1/5]

template<typename T , typename U , class TMemoryManager , bool nothrow>
bool CppCommon::operator== ( const Allocator< T, TMemoryManager, nothrow > &  alloc1,
const Allocator< U, TMemoryManager, nothrow > &  alloc2 
)
inlinenoexcept

Definition at line 17 of file allocator.inl.

◆ operator==() [2/5]

bool CppCommon::operator== ( const DirectoryIterator it1,
const DirectoryIterator it2 
)
inlinenoexcept

Definition at line 11 of file directory_iterator.inl.

◆ operator==() [3/5]

bool CppCommon::operator== ( const Time time1,
const Time time2 
)
inlinenoexcept

Definition at line 57 of file time.inl.

◆ operator==() [4/5]

bool CppCommon::operator== ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 115 of file uint128.inl.

◆ operator==() [5/5]

bool CppCommon::operator== ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 127 of file uint256.inl.

◆ operator>() [1/3]

bool CppCommon::operator> ( const Time time1,
const Time time2 
)
inlinenoexcept

Definition at line 71 of file time.inl.

◆ operator>() [2/3]

bool CppCommon::operator> ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 130 of file uint128.inl.

◆ operator>() [3/3]

bool CppCommon::operator> ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 142 of file uint256.inl.

◆ operator>=() [1/3]

bool CppCommon::operator>= ( const Time time1,
const Time time2 
)
inlinenoexcept

Definition at line 165 of file time.inl.

◆ operator>=() [2/3]

bool CppCommon::operator>= ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 140 of file uint128.inl.

◆ operator>=() [3/3]

bool CppCommon::operator>= ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 152 of file uint256.inl.

◆ operator>>() [1/2]

uint128_t CppCommon::operator>> ( const uint128_t value1,
const uint128_t value2 
)
noexcept

Definition at line 76 of file uint128.cpp.

◆ operator>>() [2/2]

uint256_t CppCommon::operator>> ( const uint256_t value1,
const uint256_t value2 
)
noexcept

Definition at line 65 of file uint256.cpp.

◆ operator^() [1/3]

uint128_t CppCommon::operator^ ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 110 of file uint128.inl.

◆ operator^() [2/3]

uint256_t CppCommon::operator^ ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 122 of file uint256.inl.

◆ operator^() [3/3]

template<typename TEnum >
constexpr auto CppCommon::operator^ ( TEnum  value1,
TEnum  value2 
) -> typename std::enable_if<IsEnumFlags<TEnum>::value, Flags<TEnum>>::type
constexprnoexcept

Definition at line 30 of file flags.inl.

◆ operator|() [1/3]

uint128_t CppCommon::operator| ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 105 of file uint128.inl.

◆ operator|() [2/3]

uint256_t CppCommon::operator| ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 117 of file uint256.inl.

◆ operator|() [3/3]

template<typename TEnum >
constexpr auto CppCommon::operator| ( TEnum  value1,
TEnum  value2 
) -> typename std::enable_if<IsEnumFlags<TEnum>::value, Flags<TEnum>>::type
constexprnoexcept

Definition at line 24 of file flags.inl.

◆ operator||() [1/2]

bool CppCommon::operator|| ( const uint128_t value1,
const uint128_t value2 
)
inlinenoexcept

Definition at line 150 of file uint128.inl.

◆ operator||() [2/2]

bool CppCommon::operator|| ( const uint256_t value1,
const uint256_t value2 
)
inlinenoexcept

Definition at line 162 of file uint256.inl.

◆ print() [1/4]

template<typename... T>
void CppCommon::print ( fmt::format_string< T... >  pattern,
T &&...  args 
)
inline

Format string and print it into the std::cout.

Format string with the help of {fmt} library (http://fmtlib.net)

Thread-safe.

Parameters
pattern- Format string pattern
args- Format arguments

Definition at line 24 of file format.inl.

◆ print() [2/4]

template<typename... T>
void CppCommon::print ( fmt::wformat_string< T... >  pattern,
T &&...  args 
)
inline

Format wide string and print it into the std::cout.

Format wide string with the help of {fmt} library (http://fmtlib.net)

Thread-safe.

Parameters
pattern- Format wide string pattern
args- Format arguments

Definition at line 30 of file format.inl.

◆ print() [3/4]

template<typename TOutputStream , typename... T>
void CppCommon::print ( TOutputStream &  stream,
fmt::format_string< T... >  pattern,
T &&...  args 
)
inline

Format string and print it into the given std::ostream.

Format string with the help of {fmt} library (http://fmtlib.net)

Thread-safe.

Parameters
stream- Output stream
pattern- Format string pattern
args- Format arguments

Definition at line 36 of file format.inl.

◆ print() [4/4]

template<typename TOutputStream , typename... T>
void CppCommon::print ( TOutputStream &  stream,
fmt::wformat_string< T... >  pattern,
T &&...  args 
)
inline

Format wide string and print it into the given std::ostream.

Format wide string with the help of {fmt} library (http://fmtlib.net)

Thread-safe.

Parameters
stream- Output stream
pattern- Format wide string pattern
args- Format arguments

Definition at line 42 of file format.inl.

◆ resource() [1/3]

template<typename T , typename TCleaner >
auto CppCommon::resource ( handle,
TCleaner  cleaner 
)

Resource smart cleaner pattern.

Resource smart cleaner pattern allows to create unique smart pointer with a given resource and cleaner delegate which is used to automatic resource clean when it goes out of scope.

Thread-safe.

Example:

int test()
{
// Create a file resource
auto file = CppCommon::resource(fopen("test", "rb"), [](FILE* file) { fclose(file); });
// Work with the file resource
int result = fgetc(file.get());
// File resource will be cleaned automatically when we go out of scope
return result;
}
auto resource(T handle, TCleaner cleaner)
Resource smart cleaner pattern.
Definition: resource.h:43
Parameters
handle- Resource handle
cleaner- Cleaner function

Definition at line 43 of file resource.h.

◆ resource() [2/3]

template<typename TCleaner >
auto CppCommon::resource ( TCleaner  cleaner)

Resource smart cleaner pattern for empty resource handle.

Parameters
cleaner- Cleaner function

Definition at line 64 of file resource.h.

◆ resource() [3/3]

template<typename TCleaner >
auto CppCommon::resource ( void *  handle,
TCleaner  cleaner 
)

Resource smart cleaner pattern (void* specialization)

Parameters
handle- Resource handle
cleaner- Cleaner function

Definition at line 54 of file resource.h.

◆ swap() [1/48]

template<typename T , typename TCompare >
void CppCommon::swap ( BinTree< T, TCompare > &  bintree1,
BinTree< T, TCompare > &  bintree2 
)
inlinenoexcept

Definition at line 415 of file bintree.inl.

◆ swap() [2/48]

template<typename T , typename TCompare >
void CppCommon::swap ( BinTreeAA< T, TCompare > &  bintree1,
BinTreeAA< T, TCompare > &  bintree2 
)
inlinenoexcept

Definition at line 510 of file bintree_aa.inl.

◆ swap() [3/48]

template<typename T , typename TCompare >
void CppCommon::swap ( BinTreeAVL< T, TCompare > &  bintree1,
BinTreeAVL< T, TCompare > &  bintree2 
)
inlinenoexcept

Definition at line 810 of file bintree_avl.inl.

◆ swap() [4/48]

template<class TContainer , typename T >
void CppCommon::swap ( BinTreeConstIterator< TContainer, T > &  it1,
BinTreeConstIterator< TContainer, T > &  it2 
)
noexcept

Definition at line 529 of file bintree.inl.

◆ swap() [5/48]

template<class TContainer , typename T >
void CppCommon::swap ( BinTreeConstReverseIterator< TContainer, T > &  it1,
BinTreeConstReverseIterator< TContainer, T > &  it2 
)
noexcept

Definition at line 643 of file bintree.inl.

◆ swap() [6/48]

template<class TContainer , typename T >
void CppCommon::swap ( BinTreeIterator< TContainer, T > &  it1,
BinTreeIterator< TContainer, T > &  it2 
)
noexcept

Definition at line 472 of file bintree.inl.

◆ swap() [7/48]

template<typename T , typename TCompare >
void CppCommon::swap ( BinTreeRB< T, TCompare > &  bintree1,
BinTreeRB< T, TCompare > &  bintree2 
)
inlinenoexcept

Definition at line 664 of file bintree_rb.inl.

◆ swap() [8/48]

template<class TContainer , typename T >
void CppCommon::swap ( BinTreeReverseIterator< TContainer, T > &  it1,
BinTreeReverseIterator< TContainer, T > &  it2 
)
noexcept

Definition at line 586 of file bintree.inl.

◆ swap() [9/48]

template<typename T , typename TCompare >
void CppCommon::swap ( BinTreeSplay< T, TCompare > &  bintree1,
BinTreeSplay< T, TCompare > &  bintree2 
)
inlinenoexcept

Definition at line 583 of file bintree_splay.inl.

◆ swap() [10/48]

void CppCommon::swap ( Directory directory1,
Directory directory2 
)
inlinenoexcept

Definition at line 17 of file directory.inl.

◆ swap() [11/48]

void CppCommon::swap ( DirectoryIterator it1,
DirectoryIterator it2 
)
inlinenoexcept

Definition at line 37 of file directory_iterator.inl.

◆ swap() [12/48]

void CppCommon::swap ( DLL dll1,
DLL dll2 
)
inlinenoexcept

Definition at line 41 of file dll.inl.

◆ swap() [13/48]

void CppCommon::swap ( File file1,
File file2 
)
inlinenoexcept

Definition at line 11 of file file.inl.

◆ swap() [14/48]

void CppCommon::swap ( FileCache cache1,
FileCache cache2 
)
inlinenoexcept

Definition at line 23 of file filecache.inl.

◆ swap() [15/48]

template<typename TEnum >
void CppCommon::swap ( Flags< TEnum > &  flags1,
Flags< TEnum > &  flags2 
)
inlinenoexcept

Definition at line 12 of file flags.inl.

◆ swap() [16/48]

template<typename TKey , typename TValue , typename TCompare , typename TAllocator >
void CppCommon::swap ( FlatMap< TKey, TValue, TCompare, TAllocator > &  flatmap1,
FlatMap< TKey, TValue, TCompare, TAllocator > &  flatmap2 
)
inlinenoexcept

Definition at line 232 of file flatmap.inl.

◆ swap() [17/48]

template<class R , class... Args, size_t Capacity>
void CppCommon::swap ( Function< R(Args...), Capacity > &  function1,
Function< R(Args...), Capacity > &  function2 
)
noexcept

Definition at line 153 of file function.inl.

◆ swap() [18/48]

template<typename TKey , typename TValue , typename THash , typename TEqual , typename TAllocator >
void CppCommon::swap ( HashMap< TKey, TValue, THash, TEqual, TAllocator > &  hashmap1,
HashMap< TKey, TValue, THash, TEqual, TAllocator > &  hashmap2 
)
inlinenoexcept

Definition at line 325 of file hashmap.inl.

◆ swap() [19/48]

template<class TContainer , typename TKey , typename TValue >
void CppCommon::swap ( HashMapConstIterator< TContainer, TKey, TValue > &  it1,
HashMapConstIterator< TContainer, TKey, TValue > &  it2 
)
noexcept

Definition at line 497 of file hashmap.inl.

◆ swap() [20/48]

template<class TContainer , typename TKey , typename TValue >
void CppCommon::swap ( HashMapConstReverseIterator< TContainer, TKey, TValue > &  it1,
HashMapConstReverseIterator< TContainer, TKey, TValue > &  it2 
)
noexcept

Definition at line 669 of file hashmap.inl.

◆ swap() [21/48]

template<class TContainer , typename TKey , typename TValue >
void CppCommon::swap ( HashMapIterator< TContainer, TKey, TValue > &  it1,
HashMapIterator< TContainer, TKey, TValue > &  it2 
)
noexcept

Definition at line 411 of file hashmap.inl.

◆ swap() [22/48]

template<class TContainer , typename TKey , typename TValue >
void CppCommon::swap ( HashMapReverseIterator< TContainer, TKey, TValue > &  it1,
HashMapReverseIterator< TContainer, TKey, TValue > &  it2 
)
noexcept

Definition at line 583 of file hashmap.inl.

◆ swap() [23/48]

template<typename T >
void CppCommon::swap ( List< T > &  list1,
List< T > &  list2 
)
inlinenoexcept

Definition at line 270 of file list.inl.

◆ swap() [24/48]

template<typename T >
void CppCommon::swap ( ListConstIterator< T > &  it1,
ListConstIterator< T > &  it2 
)
noexcept

Definition at line 356 of file list.inl.

◆ swap() [25/48]

template<typename T >
void CppCommon::swap ( ListConstReverseIterator< T > &  it1,
ListConstReverseIterator< T > &  it2 
)
noexcept

Definition at line 442 of file list.inl.

◆ swap() [26/48]

template<typename T >
void CppCommon::swap ( ListIterator< T > &  it1,
ListIterator< T > &  it2 
)
noexcept

Definition at line 313 of file list.inl.

◆ swap() [27/48]

template<typename T >
void CppCommon::swap ( ListReverseIterator< T > &  it1,
ListReverseIterator< T > &  it2 
)
noexcept

Definition at line 399 of file list.inl.

◆ swap() [28/48]

template<typename TKey , typename TValue >
void CppCommon::swap ( MemCache< TKey, TValue > &  cache1,
MemCache< TKey, TValue > &  cache2 
)
inlinenoexcept

Definition at line 184 of file memcache.inl.

◆ swap() [29/48]

void CppCommon::swap ( Path path1,
Path path2 
)
inlinenoexcept

Definition at line 38 of file path.inl.

◆ swap() [30/48]

void CppCommon::swap ( Pipe pipe1,
Pipe pipe2 
)
inlinenoexcept

Definition at line 11 of file pipe.inl.

◆ swap() [31/48]

void CppCommon::swap ( Process process1,
Process process2 
)
inlinenoexcept

Definition at line 21 of file process.inl.

◆ swap() [32/48]

template<typename T >
void CppCommon::swap ( Queue< T > &  queue1,
Queue< T > &  queue2 
)
inlinenoexcept

Definition at line 118 of file queue.inl.

◆ swap() [33/48]

template<typename T >
void CppCommon::swap ( QueueConstIterator< T > &  it1,
QueueConstIterator< T > &  it2 
)
noexcept

Definition at line 204 of file queue.inl.

◆ swap() [34/48]

template<typename T >
void CppCommon::swap ( QueueIterator< T > &  it1,
QueueIterator< T > &  it2 
)
noexcept

Definition at line 161 of file queue.inl.

◆ swap() [35/48]

template<typename T >
void CppCommon::swap ( Stack< T > &  stack1,
Stack< T > &  stack2 
)
inlinenoexcept

Definition at line 109 of file stack.inl.

◆ swap() [36/48]

template<typename T >
void CppCommon::swap ( StackConstIterator< T > &  it1,
StackConstIterator< T > &  it2 
)
noexcept

Definition at line 195 of file stack.inl.

◆ swap() [37/48]

template<typename T >
void CppCommon::swap ( StackIterator< T > &  it1,
StackIterator< T > &  it2 
)
noexcept

Definition at line 152 of file stack.inl.

◆ swap() [38/48]

void CppCommon::swap ( StdError stream1,
StdError stream2 
)
inlinenoexcept

Definition at line 21 of file stream.inl.

◆ swap() [39/48]

void CppCommon::swap ( StdInput stream1,
StdInput stream2 
)
inlinenoexcept

Definition at line 11 of file stream.inl.

◆ swap() [40/48]

void CppCommon::swap ( StdOutput stream1,
StdOutput stream2 
)
inlinenoexcept

Definition at line 16 of file stream.inl.

◆ swap() [41/48]

void CppCommon::swap ( Symlink symlink1,
Symlink symlink2 
)
inlinenoexcept

Definition at line 17 of file symlink.inl.

◆ swap() [42/48]

void CppCommon::swap ( Time time1,
Time time2 
)
inlinenoexcept

Definition at line 273 of file time.inl.

◆ swap() [43/48]

void CppCommon::swap ( Timespan timespan1,
Timespan timespan2 
)
inlinenoexcept

Definition at line 17 of file timespan.inl.

◆ swap() [44/48]

void CppCommon::swap ( Timestamp timestamp1,
Timestamp timestamp2 
)
inlinenoexcept

Definition at line 17 of file timestamp.inl.

◆ swap() [45/48]

void CppCommon::swap ( Timezone timezone1,
Timezone timezone2 
)
inlinenoexcept

Definition at line 19 of file timezone.inl.

◆ swap() [46/48]

void CppCommon::swap ( uint128_t value1,
uint128_t value2 
)
inlinenoexcept

Definition at line 184 of file uint128.inl.

◆ swap() [47/48]

void CppCommon::swap ( uint256_t value1,
uint256_t value2 
)
inlinenoexcept

Definition at line 196 of file uint256.inl.

◆ swap() [48/48]

void CppCommon::swap ( UUID uuid1,
UUID uuid2 
)
inlinenoexcept

Definition at line 73 of file uuid.inl.

Variable Documentation

◆ version

const char CppCommon::version[] = "1.0.4.1"

Project version.

Definition at line 32 of file version.h.