Template Class BaseOptionalHandle

Inheritance Relationships

Base Type

Class Documentation

template<typename NonOptionalT = BaseHandle>
class BaseOptionalHandle : public pmp::Handle

Base class for optional handles (handles that can be “null” or “None”).

This class is semantically equivalent to boost::optional<BaseHandle>. This class uses a special index value to store the “None” value. This saves memory.

Public Functions

inline BaseOptionalHandle()
inline BaseOptionalHandle(NonOptionalT src)
inline BaseOptionalHandle(boost::optional<BaseHandle> handle)
inline explicit operator bool() const
inline bool operator!() const
inline NonOptionalT unwrap() const

Extracts the handle.