template<typename TLock>
class alib::variables::TSharedConfiguration< TLock >
Utility type which implements TSharedMonoVal with class Configuration. The result of combining both is an automatic pointer to a Configuration that is "self-contained" in the first buffer of a MonoAllocator together with the allocator itself. All configuration variables are deleted and all associated memory is freed when the last copy of the pointer goes out of scope.
Along with the Configuration, this shared object includes a SharedLock. See chapter 7.4 Locking Shared Values of the Programmer's Manual of module ALib Monomem for further information on how to protect the contents of this type against thread-racing-conditions.
- Template Parameters
-
TLock | The lock type passed to the template parameter of parent type TSharedMonoVal with the same name.
With the inclusion of module ALib Threads in the ALib Build, the type-alias alib::SharedConfiguration chooses type SharedLock.
Otherwise, in case ALib is compiled without threading support, the alias chooses void .
If it is assured that no racing-conditions occur with shared instances in multithreaded software, the using code may pass void here as well. |
Definition at line 1323 of file configuration.inl.
|
| TSharedConfiguration ()=default |
| Constructs an empty instance, hence a cleared automatic pointer.
|
|
| TSharedConfiguration (const TSharedConfiguration &)=default |
| Defaulted copy-constructor.
|
|
| TSharedConfiguration (size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent=200, lang::CreateDefaults createDefaults=lang::CreateDefaults::Yes) |
|
| TSharedConfiguration (std::nullptr_t) noexcept |
|
| ~TSharedConfiguration () |
|
void | DbgCriticalSections (lang::Switch onOff) |
|
TSharedConfiguration & | operator= (const TSharedConfiguration &)=default |
|
void | Reset (lang::CreateDefaults createDefaults=lang::CreateDefaults::Yes) |
|
| TSharedMonoVal () noexcept |
| Default Constructor. Leaves this object nulled.
|
|
| TSharedMonoVal () noexcept |
| Default Constructor. Leaves this object nulled.
|
|
| TSharedMonoVal (const TSharedMonoVal &other) noexcept |
|
| TSharedMonoVal (const TSharedMonoVal &other) noexcept |
|
| TSharedMonoVal (HeapAllocator &allocator, size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent) |
|
| TSharedMonoVal (HeapAllocator &allocator, size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent) |
|
| TSharedMonoVal (size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent) |
|
| TSharedMonoVal (size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent) |
|
| TSharedMonoVal (std::nullptr_t) noexcept |
|
| TSharedMonoVal (std::nullptr_t) noexcept |
|
| TSharedMonoVal (TSharedMonoVal &&other) noexcept |
|
| TSharedMonoVal (TSharedMonoVal &&other) noexcept |
|
| ~TSharedMonoVal () |
|
| ~TSharedMonoVal () |
|
void | Acquire (const CallerInfo &ci) const noexcept |
|
void | Acquire (const CallerInfo &ci) const noexcept |
|
void | AcquireRecursive (const CallerInfo &ci) const noexcept |
|
void | AcquireRecursive (const CallerInfo &ci) const noexcept |
|
void | AcquireShared (const CallerInfo &ci) const noexcept |
|
void | AcquireShared (const CallerInfo &ci) const noexcept |
|
void | ConstructT (TArgs &&... args) |
|
void | ConstructT (TArgs &&... args) |
|
const Configuration * | Get () const noexcept |
|
const Configuration * | Get () const noexcept |
|
Configuration * | Get () noexcept |
|
Configuration * | Get () noexcept |
|
AllocatorType & | GetAllocator () noexcept |
|
AllocatorType & | GetAllocator () noexcept |
|
TLock & | GetLock () const noexcept |
|
TLock & | GetLock () const noexcept |
|
bool | IsNulled () const noexcept |
|
bool | IsNulled () const noexcept |
|
| operator bool () const noexcept |
|
| operator bool () const noexcept |
|
bool | operator!= (std::nullptr_t) const noexcept |
|
bool | operator!= (std::nullptr_t) const noexcept |
|
const Configuration & | operator* () const noexcept |
|
const Configuration & | operator* () const noexcept |
|
Configuration & | operator* () noexcept |
|
Configuration & | operator* () noexcept |
|
const Configuration * | operator-> () const noexcept |
|
const Configuration * | operator-> () const noexcept |
|
Configuration * | operator-> () noexcept |
|
Configuration * | operator-> () noexcept |
|
TSharedMonoVal & | operator= (const TSharedMonoVal &other) noexcept |
|
TSharedMonoVal & | operator= (const TSharedMonoVal &other) noexcept |
|
void | operator= (std::nullptr_t) |
| Assignment of nullptr . Same as SetNulled.
|
|
void | operator= (std::nullptr_t) |
| Assignment of nullptr . Same as SetNulled.
|
|
TSharedMonoVal & | operator= (TSharedMonoVal &&other) noexcept |
|
TSharedMonoVal & | operator= (TSharedMonoVal &&other) noexcept |
|
bool | operator== (std::nullptr_t) const noexcept |
|
bool | operator== (std::nullptr_t) const noexcept |
|
void | Release (const CallerInfo &ci) const noexcept |
|
void | Release (const CallerInfo &ci) const noexcept |
|
void | ReleaseRecursive (const CallerInfo &ci) const noexcept |
|
void | ReleaseRecursive (const CallerInfo &ci) const noexcept |
|
void | ReleaseShared (const CallerInfo &ci) const noexcept |
|
void | ReleaseShared (const CallerInfo &ci) const noexcept |
|
void | Reset (TArgs &&... args) |
|
void | Reset (TArgs &&... args) |
|
const Configuration & | Self () const noexcept |
|
const Configuration & | Self () const noexcept |
|
Configuration & | Self () noexcept |
|
Configuration & | Self () noexcept |
|
void | SetNulled () noexcept |
|
void | SetNulled () noexcept |
|
bool | TryAcquire (const CallerInfo &ci) const noexcept |
|
bool | TryAcquire (const CallerInfo &ci) const noexcept |
|
bool | TryAcquireShared (const CallerInfo &ci) const noexcept |
|
bool | TryAcquireShared (const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks::Duration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks::Duration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks::Duration::TDuration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks::Duration::TDuration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks::TTimePoint &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireSharedTimed (const Ticks::TTimePoint &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks::Duration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks::Duration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks::Duration::TDuration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks::Duration::TDuration &waitDuration, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks::TTimePoint &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | TryAcquireTimed (const Ticks::TTimePoint &pointInTime, const CallerInfo &ci) const noexcept |
|
bool | Unique () const noexcept |
|
bool | Unique () const noexcept |
|
unsigned int | UseCount () const noexcept |
|
unsigned int | UseCount () const noexcept |
|