#include <functional>
#include <memory>
#include <set>
#include <string>
#include <unordered_map>
#include <vector>
Go to the source code of this file.
◆ YASMIN_PTR_ALIASES
| #define YASMIN_PTR_ALIASES |
( |
| ClassName | ) |
|
Value: \
YASMIN_SHARED_PTR_ALIAS(ClassName) \
\ \
YASMIN_UNIQUE_PTR_ALIAS(ClassName) \
\ \
YASMIN_WEAK_PTR_ALIAS(ClassName)
Macro to define all pointer aliases for a class.
◆ YASMIN_SHARED_PTR_ALIAS
| #define YASMIN_SHARED_PTR_ALIAS |
( |
| ... | ) |
|
Value: using SharedPtr = std::shared_ptr<__VA_ARGS__>; \
using ConstSharedPtr = std::shared_ptr<const __VA_ARGS__>; \
template <typename... Args> \
static std::shared_ptr<__VA_ARGS__> make_shared(Args &&...args) { \
return std::make_shared<__VA_ARGS__>(std::forward<Args>(args)...); \
}
Macro to define a SharedPtr alias for a class.
◆ YASMIN_UNIQUE_PTR_ALIAS
| #define YASMIN_UNIQUE_PTR_ALIAS |
( |
| ... | ) |
|
Value: using UniquePtr = std::unique_ptr<__VA_ARGS__>; \
template <typename... Args> \
static std::unique_ptr<__VA_ARGS__> make_unique(Args &&...args) { \
return std::unique_ptr<__VA_ARGS__>( \
new __VA_ARGS__(std::forward<Args>(args)...)); \
}
Macro to define a UniquePtr alias for a class.
◆ YASMIN_WEAK_PTR_ALIAS
| #define YASMIN_WEAK_PTR_ALIAS |
( |
| ... | ) |
|
Value: using WeakPtr = std::weak_ptr<__VA_ARGS__>; \
using ConstWeakPtr = std::weak_ptr<const __VA_ARGS__>;
Macro to define a WeakPtr alias for a class.