OGLplus  (0.59.0) a C++ wrapper for rendering APIs

decl.hpp File Reference
#include "../assert.hpp"
#include "../tribool.hpp"
#include "../type_traits.hpp"
#include "base.hpp"

Go to the source code of this file.

Classes

struct  eagine::valid_flag_policy
 Policy for optionally valid values, indicated by a boolean flag. More...
 
class  eagine::valid_if< T, Policy, DoLog >
 Primary template for conditionally valid values. More...
 
class  eagine::valid_if_or_fallback< T, P, F >
 Helper class storing both conditionally valid value and fallback. More...
 

Namespaces

 eagine
 Common code is placed in this namespace.
 

Typedefs

template<typename T >
using eagine::optionally_valid = valid_if< T, valid_flag_policy >
 Specialization of valid_if with flag indicating validity. More...
 

Functions

template<typename T , typename P1 , typename P2 >
static constexpr auto eagine::operator== (const valid_if< T, P1 > &v1, const valid_if< T, P2 > &v2) noexcept -> tribool
 Equality comparison of two conditionally valid values.
 
template<typename T , typename P1 , typename P2 >
static constexpr auto eagine::operator!= (const valid_if< T, P1 > &v1, const valid_if< T, P2 > &v2) noexcept -> tribool
 Non-equality comparison of two conditionally valid values.
 
template<typename T , typename P1 , typename P2 >
static constexpr auto eagine::operator< (const valid_if< T, P1 > &v1, const valid_if< T, P2 > &v2) noexcept -> tribool
 Less-than comparison of two conditionally valid values.
 
template<typename T , typename P1 , typename P2 >
static constexpr auto eagine::operator> (const valid_if< T, P1 > &v1, const valid_if< T, P2 > &v2) noexcept -> tribool
 Greater-than comparison of two conditionally valid values.
 
template<typename T , typename P1 , typename P2 >
static constexpr auto eagine::operator<= (const valid_if< T, P1 > &v1, const valid_if< T, P2 > &v2) noexcept -> tribool
 Less-equal comparison of two conditionally valid values.
 
template<typename T , typename P1 , typename P2 >
static constexpr auto eagine::operator>= (const valid_if< T, P1 > &v1, const valid_if< T, P2 > &v2) noexcept -> tribool
 Greater-equal comparison of two conditionally valid values.
 
template<typename T , typename P >
static constexpr auto eagine::extract (const valid_if< T, P > &opt) noexcept -> const T &
 Overload of extract for conditionally valid values. More...
 
template<typename T , typename P >
static constexpr auto eagine::extract (valid_if< T, P > &opt) noexcept -> T &
 Overload of extract for conditionally valid values. More...
 
template<typename T , typename P >
static constexpr auto eagine::extract (valid_if< T, P > &&opt) noexcept -> T &&
 Overload of extract for conditionally valid values. More...
 
template<typename T , typename P , typename F >
static constexpr auto eagine::extract_or (const valid_if< T, P > &opt, F &&fallback) noexcept -> std::enable_if_t< std::is_convertible_v< F, T >, T >
 Overload of extract_or for conditionally valid values.
 
template<typename T , typename P , typename F >
static constexpr auto eagine::extract_or (valid_if< T, P > &opt, T &fallback) noexcept -> T &
 Overload of extract_or for conditionally valid values.
 
template<typename T , typename P , typename F >
static auto eagine::either_or (valid_if< T, P > vi, F f) noexcept(noexcept(valid_if< T, P >(std::declval< valid_if< T, P > && >())) &&noexcept(F(std::declval< F && >()))) -> valid_if_or_fallback< T, P, F >
 Constructor function for valid_if_or_fallback.
 

Detailed Description

Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt


Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).