#include <atomic>
#include <print>


struct foo
{
    int a;
    int b;
    int c;
    int d;
    int e;
    int f;
};

int main()
{
    std::atomic<int> i;
    std::println("int: {}", i.is_lock_free());         // <-- true
    std::atomic<int*> pi;
    std::println("int*: {}", pi.is_lock_free());       // <-- true
    std::atomic<foo> f;
    std::println("foo: {}", f.is_lock_free());         // <-- false

    return 0;
}
 
