Implements TSharedMonoVal with type ExpressionVal. Therefore, the relevant documentation is found with class ExpressionVal, which can be accessed through this type using operator->().
The result of combining both is an automatic pointer to a ExpressionVal that is "self-contained" in the first buffer of a MonoAllocator together with the allocator itself. The expression is deleted and all associated memory is freed when the last copy of the pointer goes out of scope.
- Note
- With the documentation of type TSharedMonoVal, two naming schemes are suggested. Here, the second scheme is used because the method Compiler::Compile will always return this encapsulated object. Expressions are shared by definition.
Definition at line 223 of file expression.inl.
|
|
| Expression ()=default |
| | Constructs an empty instance, hence a cleared automatic pointer.
|
| |
| | Expression (std::nullptr_t) noexcept |
| |
| | TSharedMonoVal () noexcept |
| | Default Constructor. Leaves this object nulled.
|
| |
| | TSharedMonoVal (const TSharedMonoVal &other) noexcept |
| |
| | TSharedMonoVal (HeapAllocator &allocator, size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent) |
| |
| | TSharedMonoVal (size_t initialBufferSizeInKB, unsigned int bufferGrowthInPercent) |
| |
| | TSharedMonoVal (std::nullptr_t) noexcept |
| |
| | TSharedMonoVal (TSharedMonoVal &&other) noexcept |
| |
| | ~TSharedMonoVal () |
| |
| void | Acquire (const CallerInfo &ci) const noexcept |
| |
| void | AcquireRecursive (const CallerInfo &ci) const noexcept |
| |
| void | AcquireShared (const CallerInfo &ci) const noexcept |
| |
| void | ConstructT (TArgs &&... args) |
| |
| const ExpressionVal * | Get () const noexcept |
| |
| ExpressionVal * | Get () noexcept |
| |
| AllocatorType & | GetAllocator () noexcept |
| |
| void & | GetLock () const noexcept |
| |
| bool | IsNulled () const noexcept |
| |
| | operator bool () const noexcept |
| |
| bool | operator!= (std::nullptr_t) const noexcept |
| |
| const ExpressionVal & | operator* () const noexcept |
| |
| ExpressionVal & | operator* () noexcept |
| |
| const ExpressionVal * | operator-> () const noexcept |
| |
| ExpressionVal * | operator-> () noexcept |
| |
| TSharedMonoVal & | operator= (const TSharedMonoVal &other) noexcept |
| |
| void | operator= (std::nullptr_t) |
| | Assignment of nullptr. Same as SetNulled.
|
| |
| TSharedMonoVal & | operator= (TSharedMonoVal &&other) noexcept |
| |
| bool | operator== (std::nullptr_t) const noexcept |
| |
| void | Release (const CallerInfo &ci) const noexcept |
| |
| void | ReleaseRecursive (const CallerInfo &ci) const noexcept |
| |
| void | ReleaseShared (const CallerInfo &ci) const noexcept |
| |
| void | Reset (TArgs &&... args) |
| |
| const ExpressionVal & | Self () const noexcept |
| |
| ExpressionVal & | Self () noexcept |
| |
| void | SetNulled () noexcept |
| |
| bool | TryAcquire (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::Duration &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 | 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::TDuration &waitDuration, const CallerInfo &ci) const noexcept |
| |
| bool | TryAcquireTimed (const Ticks::TTimePoint &pointInTime, const CallerInfo &ci) const noexcept |
| |
| bool | Unique () const noexcept |
| |
| unsigned int | UseCount () const noexcept |
| |