#include <Rosetta/Commons/Utils.hpp>
Public Types | |
| using | value_type = T |
| using | size_type = std::size_t |
| using | reference = T & |
| using | const_reference = const T & |
| using | pointer = T * |
| using | const_pointer = const T * |
| using | iterator = pointer |
| using | const_iterator = const_pointer |
Public Member Functions | |
| SizedPtr () | |
| Default constructor. More... | |
| SizedPtr (std::size_t size) | |
| SizedPtr (T *ptr, std::size_t size) | |
| ~SizedPtr () | |
| Default destructor. More... | |
| SizedPtr (const SizedPtr &ptr) | |
| Copy constructor, deep copying buffer. More... | |
| SizedPtr (SizedPtr &&ptr) noexcept | |
| Move constructor. More... | |
| SizedPtr & | operator= (const SizedPtr &ptr) |
| Copy assignment operator, deep copying buffer. More... | |
| SizedPtr & | operator= (SizedPtr &&ptr) noexcept |
| Move assignment operator. More... | |
| void | reset () noexcept |
| Resets buffer. More... | |
| void | reset (T *other, std::size_t size) noexcept |
| operator bool () | |
| Queries that object has buffer. More... | |
| T * | get () |
| const T * | get () const |
| std::size_t | size () const |
| T & | operator* () |
| const T & | operator* () const |
| T & | operator[] (std::size_t idx) |
| const T & | operator[] (std::size_t idx) const |
| bool | operator== (const SizedPtr &other) const |
| bool | operator!= (const SizedPtr &other) const |
| bool | operator== (std::nullptr_t) const |
| bool | operator!= (std::nullptr_t) const |
| iterator | begin () |
| const_iterator | begin () const |
| const_iterator | cbegin () const |
| iterator | end () |
| const_iterator | end () const |
| const_iterator | cend () const |
Detailed Description
template<typename T>
class SizedPtr< T >
SizedPtr class.
This class is unique_ptr like pointer wrapper. For std::any, base class required copy constructible, it supports both deep copy and move operations.
Member Typedef Documentation
◆ const_iterator
| using SizedPtr< T >::const_iterator = const_pointer |
◆ const_pointer
| using SizedPtr< T >::const_pointer = const T* |
◆ const_reference
| using SizedPtr< T >::const_reference = const T& |
◆ iterator
◆ pointer
◆ reference
◆ size_type
◆ value_type
| using SizedPtr< T >::value_type = T |
Constructor & Destructor Documentation
◆ SizedPtr() [1/5]
◆ SizedPtr() [2/5]
Constructs sized ptr with given /p size.
- Parameters
-
size The size of buffer.
◆ SizedPtr() [3/5]
Constructs sized ptr with given ptr and size.
- Parameters
-
ptr The pointer that sized ptr managing. size The size of buffer.
◆ ~SizedPtr()
◆ SizedPtr() [4/5]
Copy constructor, deep copying buffer.
◆ SizedPtr() [5/5]
Move constructor.
Member Function Documentation
◆ begin() [1/2]
Gets begining iterator of the buffer.
- Returns
- The begining iterator.
◆ begin() [2/2]
|
inline |
Gets constant begining iterator of the buffer.
- Returns
- The constant begining iterator.
◆ cbegin()
|
inline |
Gets constant begining iterator of the buffer.
- Returns
- The constant begining iterator.
◆ cend()
|
inline |
Gets ending iterator of the buffer.
- Returns
- The ending iterator.
◆ end() [1/2]
Gets ending iterator of the buffer.
- Returns
- The ending iterator.
◆ end() [2/2]
|
inline |
Gets ending iterator of the buffer.
- Returns
- The ending iterator.
◆ get() [1/2]
|
inline |
Gets buffer pointer.
- Returns
- The pointer of buffer.
◆ get() [2/2]
|
inline |
Gets buffer pointer.
- Returns
- The pointer of buffer.
◆ operator bool()
|
inline |
Queries that object has buffer.
◆ operator!=() [1/2]
Check the inequality of two buffers.
- Parameters
-
other Comparable object.
- Returns
- Inequality about two buffers.
◆ operator!=() [2/2]
|
inline |
Check if the buffer is not empty.
- Returns
- true if buffer is not empty, false otherwise.
◆ operator*() [1/2]
|
inline |
Gets the first element of buffer.
- Returns
- The first element of buffer.
◆ operator*() [2/2]
|
inline |
Gets the first element of buffer.
- Returns
- The first element of buffer.
◆ operator=() [1/2]
Copy assignment operator, deep copying buffer.
◆ operator=() [2/2]
Move assignment operator.
◆ operator==() [1/2]
Check the equality of two buffers.
- Parameters
-
other Comparable object.
- Returns
- Equality about two buffers.
◆ operator==() [2/2]
|
inline |
Check if the buffer is empty.
- Returns
- true if buffer is empty, false otherwise.
◆ operator[]() [1/2]
|
inline |
Gets the element with given idx from buffer.
- Parameters
-
idx The index of buffer.
- Returns
- The element of buffer at idx.
◆ operator[]() [2/2]
|
inline |
Gets the element with given idx from buffer.
- Parameters
-
idx The index of buffer.
- Returns
- The element of buffer at idx.
◆ reset() [1/2]
|
inlinenoexcept |
Resets buffer.
◆ reset() [2/2]
|
inlinenoexcept |
Resets buffer with given other and size.
- Parameters
-
other The pointer that sized ptr managing. size The size of buffer.
◆ size()
|
inline |
Gets size of buffer.
- Returns
- The size of buffer.
The documentation for this class was generated from the following file:
- Rosetta/Commons/Utils.hpp
1.8.14