পৃষ্ঠাসমূহ

Search Your Article

CS

 

Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.

At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.

What We Offer:

  • 📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.

  • 💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.

  • 🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.

  • 🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.

    Latest world News 

     

Our Vision

To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.

Why Choose Us?

✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing

We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.

📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.

Pageviews

Saturday, January 28, 2017

C++ Library -

Introduction

These are types that encapsulate a value whose access is guaranteed to not cause data races and can be used to synchronize memory accesses among different threads and he 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 type

S.N. Member types Definition
1 atomic Atomic class template and specializations for bool, integral, and pointer types

C-style atomic types

The following are atomic types and also defined in this header.
contained type atomic type description
bool atomic_bool
char atomic_char atomics for fundamental integral types.
These are either typedefs of the corresponding full specialization of the atomic class template or a base class of such specialization.
signed char atomic_schar
unsigned char atomic_uchar
short atomic_short
unsigned short atomic_ushort
int atomic_int
unsigned int atomic_uint
long atomic_long
unsigned long atomic_ulong
long long atomic_llong
unsigned long long atomic_ullong
wchar_t atomic_wchar_t
char16_t atomic_char16_t
char32_t atomic_char32_t
intmax_t atomic_intmax_t atomics for width-based integrals (those defined in <cinttypes>).
Each of these is either an alias of one of the above atomics for fundamental integral types or of a full specialization of the atomic class template with an extended integral type.
Where N is one in 8, 16, 32, 64, or any other type width supported by the library.
uintmax_t atomic_uintmax_t
int_leastN_t atomic_int_leastN_t
uint_leastN_t atomic_uint_leastN_t
int_fastN_t atomic_int_fastN_t
uint_fastN_t atomic_uint_fastN_t
intptr_t atomic_intptr_t
uintptr_t atomic_uintptr_t
size_t atomic_size_t
ptrdiff_t atomic_ptrdiff_t

Operations on atomic types

S.N. Operations Definition
1 atomic_is_lock_free It is used to checks if the atomic type's operations are lock-free
2 atomic_store & atomic_store_explicit It automically replaces the value of the atomic object with a non-atomic argument
3 atomic_load & atomic_load_explicit It atomically obtains the value stored in an atomic object
4 atomic_exchange & atomic_exchange_explicit It atomically replaces the value of the atomic object with non-atomic argument and returns the old value of the atomic
5 atomic_compare_exchange_weak & atomic_compare_exchange_weak_explicit & atomic_compare_exchange_strong & atomic_compare_exchange_strong_explicit It atomically compares the value of the atomic object with non-atomic argument and performs atomic exchange if equal or atomic load if not
6 atomic_fetch_add & atomic_fetch_add_explicit It adds a non-atomic value to an atomic object and obtains the previous value of the atomic
7 atomic_fetch_sub & atomic_fetch_sub_explicit It subtracts a non-atomic value from an atomic object and obtains the previous value of the atomic
8 atomic_fetch_and & atomic_fetch_and_explicit It replaces the atomic object with the result of logical AND with a non-atomic argument and obtains the previous value of the atomic
9 atomic_fetch_or & atomic_fetch_or_explicit It replaces the atomic object with the result of logical OR with a non-atomic argument and obtains the previous value of the atomic
10 atomic_fetch_xor & atomic_fetch_xor_explicit It replaces the atomic object with the result of logical XOR with a non-atomic argument and obtains the previous value of the atomic

Flag type and operations

S.N. Flag type Definition
1 atomic_flag The lock-free boolean atomic type
2 atomic_flag_test_and_set & atomic_flag_test_and_set_explicit It atomically sets the flag to true and returns its previous value
3 atomic_flag_clear & atomic_flag_clear_explicit It atomically sets the value of the flag to false

No comments:

Post a Comment