SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Core::Atomic< T, OrderT > Struct Template Reference

#include <swcdb/core/Atomic.h>

+ Inheritance diagram for SWC::Core::Atomic< T, OrderT >:
+ Collaboration diagram for SWC::Core::Atomic< T, OrderT >:

Public Member Functions

constexpr SWC_CAN_INLINE Atomic () noexcept
 
template<typename ValueT >
constexpr SWC_CAN_INLINE Atomic (ValueT initial) noexcept
 
 Atomic (const Atomic< T > &)=delete
 
 Atomic (const Atomic< T > &&)=delete
 
template<typename ValueT >
Atomic< T > & operator= (ValueT v)=delete
 
 ~Atomic () noexcept
 
constexpr SWC_CAN_INLINEfetch_sub (T v) noexcept
 
constexpr SWC_CAN_INLINEfetch_add (T v) noexcept
 
constexpr SWC_CAN_INLINEfetch_xor (T v) noexcept
 
constexpr SWC_CAN_INLINEfetch_and (T v) noexcept
 
constexpr SWC_CAN_INLINEfetch_or (T v) noexcept
 
constexpr SWC_CAN_INLINEsub_rslt (T v) noexcept
 
constexpr SWC_CAN_INLINEadd_rslt (T v) noexcept
 
constexpr SWC_CAN_INLINExor_rslt (T v) noexcept
 
constexpr SWC_CAN_INLINEand_rslt (T v) noexcept
 
constexpr SWC_CAN_INLINEor_rslt (T v) noexcept
 
constexpr SWC_CAN_INLINEoperator++ (int) noexcept
 
constexpr SWC_CAN_INLINEoperator-- (int) noexcept
 
- Public Member Functions inherited from SWC::Core::AtomicBase< T >
constexpr SWC_CAN_INLINE AtomicBase () noexcept
 
constexpr SWC_CAN_INLINE AtomicBase (ValueT initial) noexcept
 
 AtomicBase (const AtomicBase< T > &)=delete
 
 AtomicBase (const AtomicBase< T > &&)=delete
 
AtomicBase< T > & operator= (ValueT v)=delete
 
 ~AtomicBase () noexcept
 
constexpr SWC_CAN_INLINE void store (T v) noexcept
 
constexpr SWC_CAN_INLINEload () const noexcept
 
constexpr SWC_CAN_INLINEexchange (T value) noexcept
 
constexpr SWC_CAN_INLINE bool compare_exchange_weak (T &at, T value) noexcept
 
constexpr SWC_CAN_INLINE operator T () const noexcept
 

Detailed Description

template<typename T, std::memory_order OrderT = std::memory_order_relaxed>
struct SWC::Core::Atomic< T, OrderT >

Definition at line 69 of file Atomic.h.

Constructor & Destructor Documentation

◆ Atomic() [1/4]

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE SWC::Core::Atomic< T, OrderT >::Atomic ( )
inlineexplicitconstexprnoexcept

Definition at line 72 of file Atomic.h.

◆ Atomic() [2/4]

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
template<typename ValueT >
constexpr SWC_CAN_INLINE SWC::Core::Atomic< T, OrderT >::Atomic ( ValueT  initial)
inlineexplicitconstexprnoexcept

Definition at line 76 of file Atomic.h.

◆ Atomic() [3/4]

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
SWC::Core::Atomic< T, OrderT >::Atomic ( const Atomic< T > &  )
delete

◆ Atomic() [4/4]

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
SWC::Core::Atomic< T, OrderT >::Atomic ( const Atomic< T > &&  )
delete

◆ ~Atomic()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
SWC::Core::Atomic< T, OrderT >::~Atomic ( )
inlinenoexcept

Definition at line 84 of file Atomic.h.

Member Function Documentation

◆ add_rslt()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::add_rslt ( v)
inlineconstexprnoexcept

Definition at line 120 of file Atomic.h.

Referenced by SWC::Manager::Rangers::assign_ranges_run(), SWC::FS::FileSystemHadoop::create(), SWC::FS::FileSystemHadoopJVM::create(), SWC::Manager::MngdColumns::get_next_cid(), SWC::Core::CompletionCounter< uint64_t >::increment_and_count(), SWC::FS::FileSystemHadoop::open(), and SWC::FS::FileSystemHadoopJVM::open().

+ Here is the caller graph for this function:

◆ and_rslt()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::and_rslt ( v)
inlineconstexprnoexcept

Definition at line 130 of file Atomic.h.

◆ fetch_add()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::fetch_add ( v)
inlineconstexprnoexcept

Definition at line 93 of file Atomic.h.

Referenced by SWC::Env::FsBroker::_can_process(), SWC::client::Query::Profiling::Component::add(), SWC::client::Query::Profiling::Component::add_cached(), SWC::client::Query::Update::Handlers::Base::add_resend_count(), SWC::Core::Atomic< State >::add_rslt(), SWC::System::Mem::adj_mem_releasable(), SWC::Ranger::Compaction::compact(), SWC::Ranger::CompactRange::finalize(), SWC::FS::SmartFd::forward(), SWC::Comm::client::Serialized::get_connection(), SWC::client::Query::Update::Handlers::Metric::Item_Count::increment(), SWC::client::Query::Update::Handlers::Metric::Item_Volume::increment(), SWC::client::Query::Update::Handlers::Metric::Item_CountVolume::increment(), SWC::Core::CompletionCounter< uint64_t >::increment(), SWC::Ranger::CellStore::Block::Read::load(), SWC::Ranger::Compaction::log_compact_possible(), SWC::System::Mem::more_mem_future(), SWC::System::Mem::more_mem_releasable(), SWC::Core::Atomic< State >::operator++(), SWC::client::Query::Profiling::Component::operator+=(), SWC::Ranger::CompactRange::process_encode(), SWC::Ranger::CompactRange::process_interval(), SWC::Ranger::CompactRange::process_write(), SWC::ThriftBroker::AppHandler::Processing::Processing(), SWC::Ranger::Blocks::processing_increment(), SWC::Ranger::CommitLog::Fragment::processing_increment(), SWC::Ranger::Block::processing_increment(), SWC::Ranger::Blocks::release(), SWC::Ranger::CompactRange::response(), SWC::Ranger::Range::run_add_queue(), and SWC::Core::Mem::Item::use().

+ Here is the caller graph for this function:

◆ fetch_and()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::fetch_and ( v)
inlineconstexprnoexcept

Definition at line 103 of file Atomic.h.

Referenced by SWC::Core::Atomic< State >::and_rslt().

+ Here is the caller graph for this function:

◆ fetch_or()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::fetch_or ( v)
inlineconstexprnoexcept

Definition at line 108 of file Atomic.h.

Referenced by SWC::Core::Atomic< State >::or_rslt().

+ Here is the caller graph for this function:

◆ fetch_sub()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::fetch_sub ( v)
inlineconstexprnoexcept

◆ fetch_xor()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::fetch_xor ( v)
inlineconstexprnoexcept

Definition at line 98 of file Atomic.h.

Referenced by SWC::Core::Atomic< State >::xor_rslt(), and SWC::Config::Property::Value::zero_token().

+ Here is the caller graph for this function:

◆ operator++()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::operator++ ( int  )
inlineconstexprnoexcept

Definition at line 143 of file Atomic.h.

◆ operator--()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::operator-- ( int  )
inlineconstexprnoexcept

Definition at line 148 of file Atomic.h.

◆ operator=()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
template<typename ValueT >
Atomic<T>& SWC::Core::Atomic< T, OrderT >::operator= ( ValueT  v)
delete

◆ or_rslt()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::or_rslt ( v)
inlineconstexprnoexcept

Definition at line 135 of file Atomic.h.

◆ sub_rslt()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::sub_rslt ( v)
inlineconstexprnoexcept

Definition at line 115 of file Atomic.h.

Referenced by SWC::Comm::Protocol::Bkr::Handler::ColumnList::callback(), SWC::Core::CompletionCounter< uint64_t >::decrement_and_count(), SWC::Ranger::CommitLog::Compact::finished(), SWC::Ranger::CellStore::Block::Read::load_cells(), and SWC::Ranger::CommitLog::Fragment::load_cells().

+ Here is the caller graph for this function:

◆ xor_rslt()

template<typename T , std::memory_order OrderT = std::memory_order_relaxed>
constexpr SWC_CAN_INLINE T SWC::Core::Atomic< T, OrderT >::xor_rslt ( v)
inlineconstexprnoexcept

Definition at line 125 of file Atomic.h.


The documentation for this struct was generated from the following file: