Types that are safe to pass across a DLL boundary: owners and polymorphic clones on Base's heap. More...
Namespaces | |
| namespace | Heap |
| Allocate and free raw blocks on Base's heap. | |
Classes | |
| class | Clonable |
| Polymorphic copy and move through a base. More... | |
| class | CString |
| Owned NUL-terminated buffer, safe to use across a DLL boundary. More... | |
| class | Shared |
Shared owner of a T allocated on Base's heap. More... | |
| class | String |
| Owned UTF-8 text composed of StormByte::Safe::CString. More... | |
| class | Unique |
Unique owner of a T allocated on Base's heap. More... | |
| class | WCString |
| Owned NUL-terminated wide buffer, safe to use across a DLL boundary. More... | |
| class | Weak |
| Non-owning observer of a Shared control block. More... | |
| class | WString |
| Wide counterpart of String. More... | |
Concepts | |
| concept | ValidSmartPointer |
true when SmartPointer is StormByte::Safe::Shared<T> or StormByte::Safe::Unique<T>. | |
Functions | |
| std::ostream & | operator<< (std::ostream &stream, const CString &text) |
Writes text to stream. | |
| bool | operator== (const char *str, const CString &text) noexcept |
| Content equality. | |
| bool | operator!= (const char *str, const CString &text) noexcept |
| Content inequality. | |
| void | swap (CString &left, CString &right) noexcept |
| Swaps two buffers. | |
| template<class T , class U > | |
| Shared< T > | StaticPointerCast (const Shared< U > &from) noexcept |
static_cast of the stored pointer. | |
| template<class T , class U > | |
| Shared< T > | DynamicPointerCast (const Shared< U > &from) noexcept |
dynamic_cast of the stored pointer. | |
| template<class T , class U > | |
| Shared< T > | ConstPointerCast (const Shared< U > &from) noexcept |
const_cast of the stored pointer. | |
| template<class T , class U > | |
| Shared< T > | ReinterpretPointerCast (const Shared< U > &from) noexcept |
reinterpret_cast of the stored pointer. | |
| std::ostream & | operator<< (std::ostream &stream, const String &text) |
Writes text to stream. | |
| bool | operator== (const char *str, const String &text) noexcept |
| Content equality. | |
| bool | operator!= (const char *str, const String &text) noexcept |
| Content inequality. | |
| void | swap (String &left, String &right) noexcept |
| Swaps two texts. | |
| std::wostream & | operator<< (std::wostream &stream, const WCString &text) |
Writes text to stream. | |
| bool | operator== (const wchar_t *str, const WCString &text) noexcept |
| Content equality. | |
| bool | operator!= (const wchar_t *str, const WCString &text) noexcept |
| Content inequality. | |
| void | swap (WCString &left, WCString &right) noexcept |
| Swaps two buffers. | |
| std::wostream & | operator<< (std::wostream &stream, const WString &text) |
Writes text to stream. | |
| bool | operator== (const wchar_t *str, const WString &text) noexcept |
| Content equality. | |
| bool | operator!= (const wchar_t *str, const WString &text) noexcept |
| Content inequality. | |
| void | swap (WString &left, WString &right) noexcept |
| Swaps two texts. | |
Variables | |
| template<class T > | |
| class STORMBYTE_PUBLIC_TYPE | Shared |
| template<class T > | |
| class STORMBYTE_PUBLIC_TYPE | Unique |
| template<class T > | |
| class STORMBYTE_PUBLIC_TYPE | Weak |
Types that are safe to pass across a DLL boundary: owners and polymorphic clones on Base's heap.
Unit count. Defined in size.hxx. Forwarded so Type::Sized can name it.
Owned UTF-8 and wide text on top of StormByte::Safe::CString / StormByte::Safe::WCString.
Types safe to pass across a DLL boundary.
Suite text types owned by Base.
|
noexcept |
const_cast of the stored pointer.
The control block stays.
| T | Target pointee. |
| U | Source pointee. |
| from | Owner. |
|
noexcept |
dynamic_cast of the stored pointer.
Empty when the cast fails.
| T | Target pointee. |
| U | Source pointee. |
| from | Owner. |
|
inlinenoexcept |
Content inequality.
| str | C string; may be null. |
| text | Buffer. |
|
inlinenoexcept |
Content inequality.
| str | C string; may be null. |
| text | Text. |
|
inlinenoexcept |
Content inequality.
| str | C wide string; may be null. |
| text | Buffer. |
|
inlinenoexcept |
Content inequality.
| str | Wide C string; may be null. |
| text | Text. |
|
inline |
Writes text to stream.
| stream | Destination. |
| text | Source. |
stream.
|
inline |
Writes text to stream.
| stream | Destination. |
| text | Source. |
stream.
|
inline |
Writes text to stream.
| stream | Destination. |
| text | Source. |
stream.
|
inline |
Writes text to stream.
| stream | Destination. |
| text | Source. |
stream.
|
inlinenoexcept |
Content equality.
| str | C string; may be null. |
| text | Buffer. |
|
inlinenoexcept |
Content equality.
| str | C string; may be null. |
| text | Text. |
|
inlinenoexcept |
Content equality.
| str | C wide string; may be null. |
| text | Buffer. |
|
inlinenoexcept |
Content equality.
| str | Wide C string; may be null. |
| text | Text. |
|
noexcept |
reinterpret_cast of the stored pointer.
The control block stays.
| T | Target pointee. |
| U | Source pointee. |
| from | Owner. |
|
noexcept |
static_cast of the stored pointer.
The control block stays.
| T | Target pointee. |
| U | Source pointee. |
| from | Owner. |
Swaps two buffers.
| left | First buffer. |
| right | Second buffer. |
Swaps two texts.
| left | First text. |
| right | Second text. |
Swaps two buffers.
| left | First buffer. |
| right | Second buffer. |
Swaps two texts.
| left | First text. |
| right | Second text. |
| class STORMBYTE_PUBLIC_TYPE StormByte::Safe::Shared |
| class STORMBYTE_PUBLIC_TYPE StormByte::Safe::Unique |
| class STORMBYTE_PUBLIC_TYPE StormByte::Safe::Weak |