OneOrList

template<class T>
class OneOrList

Public Functions

OneOrList() = default
inline explicit OneOrList(const std::size_t size)
inline explicit OneOrList(T &&mainElement)
OneOrList(const OneOrList&) = delete
OneOrList(OneOrList &&other) noexcept = default
OneOrList &operator=(const OneOrList&) = delete
OneOrList &operator=(OneOrList &&other) noexcept = default
inline bool isUninitialized() const
inline bool isSingle() const
inline bool isList() const
inline std::vector<T> &getAsList()
inline const std::vector<T> &getAsList() const
inline T &getAsSingle()
inline const T &getAsSingle() const
inline std::vector<T> *tryGetAsList()
inline const std::vector<T> *tryGetAsList() const
inline T *tryGetAsSingle()
inline const T *tryGetAsSingle() const
inline explicit operator bool() const
inline void add(T &&element)
inline void addList(OneOrList &&other)
inline T &first()
inline const T &first() const
inline T &last()
inline const T &last() const
inline T &operator[](std::size_t index)
inline const T &operator[](std::size_t index) const
inline T &at(std::size_t index)
inline const T &at(std::size_t index) const
inline std::size_t size() const
inline bool empty() const
inline void reserve(std::size_t newCapacity)
inline void shrink()
inline void clear()
template<class TFunc>
inline void forEach(TFunc fcn)
template<class TFunc>
inline void forEach(TFunc fcn) const
template<class TFunc>
inline auto map(TFunc mapFcn)
template<class TFunc>
inline auto map(TFunc mapFcn) const