| 15891 | |
| 15892 | template <typename T> |
| 15893 | struct readonly_wrapper : detail::ebco<T> { |
| 15894 | private: |
| 15895 | using base_t = detail::ebco<T>; |
| 15896 | |
| 15897 | public: |
| 15898 | using base_t::base_t; |
| 15899 | |
| 15900 | operator T&() { |
| 15901 | return base_t::value(); |
| 15902 | } |
| 15903 | operator const T&() const { |
| 15904 | return base_t::value(); |
| 15905 | } |
| 15906 | }; |
| 15907 | |
| 15908 | // Allow someone to make a member variable readonly (const) |
| 15909 | template <typename R, typename T> |