Atomic operations library

The atomic library provides components for fine-grained atomic operations allowing for lockless concurrent programming. Each atomic operation is indivisible with regards to any other atomic operation that involves the same object. Atomic objects are the only C++ objects free of data races; that is, if one thread writes to an atomic while another thread reads from it, the behavior is well-defined. Defined in header <atomic> Atomic types atomic (C++11) atomic class template

attribute specifier sequence(since C++11)

Introduces implementation-defined attributes for types, objects, code, etc. [[ attr]] [[attr1, attr2, attr3(args)]] [[namespace::attr(args)]] alignas_specifier Explanation Attributes provide the unified standard syntax for implementation-defined language extensions, such as the GNU and IBM language extensions __attribute__((...)), Microsoft extension __declspec(), etc. An attribute can be used almost everywhere in the C++ program, and can be applied to almost everything: to types, to v

ATOMIC_FLAG_INIT

Defined in header <atomic> #define ATOMIC_FLAG_INIT /* implementation-defined */ Defines the expression which can be used to initialize std::atomic_flag to clear (false) state with the statement std::atomic_flag v = ATOMIC_FLAG_INIT;. It is unspecified if it can be used with other initialization contexts. If the flag has static storage duration, this initialization is static. This is the only way to initialize std::atomic_flag to a definite value: the value held after any o

atomic

This header is part of the atomic operations library. Classes atomic (C++11) atomic class template and specializations for bool, integral, and pointer types (class template) atomic_flag (C++11) the lock-free boolean atomic type (class) memory_order (C++11) defines memory ordering constraints for the given atomic operation (typedef) Typedefs std::atomic_bool std::atomic<bool> std::atomic_char std::atomic<char> std::atomic_schar std::atomic<

Assignment operators

Assignment operators modify the value of the object. Operator name Syntax Over​load​able Prototype examples (for class T) Inside class definition Outside class definition simple assignment a = b Yes T& T::operator =(const T2& b); N/A addition assignment a += b Yes T& T::operator +=(const T2& b); T& operator +=(T& a, const T2& b); subtraction assignment a -= b Yes T& T::operator -=(const T2& b); T& operator -=(T& a

AssociativeContainer

An AssociativeContainer is an ordered Container that provides fast lookup of objects based on keys. Requirements Legend X Container type a Object of type X a_uniq Object in X when X supports unique keys a_eq Object in X when X supports multiple keys a_trans Object in X when type X::key_compare::is_transparent exists i, j InputIterators denoting a valid range p const_iterator to a q dereferenceable const_iterator to a q1, q2 const_iterators denoting a va

assert

Defined in header <cassert> #ifdef NDEBUG #define assert(condition) ((void)0) #else #define assert(condition) /*implementation defined*/ #endif The definition of the macro assert depends on another macro, NDEBUG, which is not defined by the standard library. If NDEBUG is defined as a macro name at the point in the source code where <cassert> is included, then assert does nothing. If NDEBUG is not defined, then assert checks if its argument (which must have scalar type

ASCII Chart

The following chart contains all 128 ASCII decimal (dec), octal (oct), hexadecimal (hex) and character (ch) codes. dec oct hex ch dec oct hex ch dec oct hex ch dec oct hex ch 0 0 00 NUL (null) 32 40 20 (space) 64 100 40 @ 96 140 60 ` 1 1 01 SOH (start of header) 33 41 21 ! 65 101 41 A 97 141 61 a 2 2 02 STX (start of text) 34 42 22 " 66 102 42 B 98 142 62 b 3 3 03 ETX (end of text) 35 43 23

asm

Usage Declaration of an inline assembly block

asm declaration

asm-declaration gives the ability to embed assembly language source code within a C++ program. This declaration is conditionally-supported and implementation defined, meaning that it may not be present and, even when provided by the implementation, it does not have a fixed meaning. Syntax asm ( string_literal ) ; Explanation The string_literal is typically a short program written in assembly language, which is executed whenever this declaration is executed. Different C++ compilers